0
我在表列中存儲模式名稱(例如,SOURCE_SCHEMA
,TARGET_SCHEMA
),並檢索我想要使用的模式名稱作爲DB2存儲過程中的變量(例如,vSchema
)。使用變量來引用DB2存儲過程中的模式和表格
如何再使用變量在SQL語句中,例如:
SELECT * from vSchema.TABLE_NAME
有沒有更好的方式來做到這一點?提前致謝。
我在表列中存儲模式名稱(例如,SOURCE_SCHEMA
,TARGET_SCHEMA
),並檢索我想要使用的模式名稱作爲DB2存儲過程中的變量(例如,vSchema
)。使用變量來引用DB2存儲過程中的模式和表格
如何再使用變量在SQL語句中,例如:
SELECT * from vSchema.TABLE_NAME
有沒有更好的方式來做到這一點?提前致謝。
如果沒有額外的方面,我只能告訴你,你需要使用動態SQL,例如如[此處顯示](http://stackoverflow.com/questions/6762376/upsert-into-table-with-dynamic-table-name)。 – mustaccio 2014-10-17 12:01:25
SQL無法在不知道架構和表名的情況下編譯SQL'SELECT'語句。如果沒有這些,就無法知道如何爲從數據庫中檢索的值分配內存。如果在創建過程時不知道這些名稱,則必須使用每次調用過程時都會在運行時編譯的動態SQL語句。查看'PREPARE','EXECUTE'和'EXECUTE-IMMEDIATE' SQL語句以瞭解動態SQL。 – user2338816 2014-10-19 06:59:28
@ user2338816請將您的評論發佈爲答案,因爲我認爲這是正確的,並且可以幫助其他人;) – bluish 2017-05-18 14:51:17