2014-10-17 49 views
0

我在表列中存儲模式名稱(例如,SOURCE_SCHEMA,TARGET_SCHEMA),並檢索我想要使用的模式名稱作爲DB2存儲過程中的變量(例如,vSchema)。使用變量來引用DB2存儲過程中的模式和表格

如何再使用變量在SQL語句中,例如:

SELECT * from vSchema.TABLE_NAME 

有沒有更好的方式來做到這一點?提前致謝。

+0

如果沒有額外的方面,我只能告訴你,你需要使用動態SQL,例如如[此處顯示](http://stackoverflow.com/questions/6762376/upsert-into-table-with-dynamic-table-name)。 – mustaccio 2014-10-17 12:01:25

+0

SQL無法在不知道架構和表名的情況下編譯SQL'SELECT'語句。如果沒有這些,就無法知道如何爲從數據庫中檢索的值分配內存。如果在創建過程時不知道這些名稱,則必須使用每次調用過程時都會在運行時編譯的動態SQL語句。查看'PREPARE','EXECUTE'和'EXECUTE-IMMEDIATE' SQL語句以瞭解動態SQL。 – user2338816 2014-10-19 06:59:28

+0

@ user2338816請將您的評論發佈爲答案,因爲我認爲這是正確的,並且可以幫助其他人;) – bluish 2017-05-18 14:51:17

回答

-3

Utiliza SET PATH = TU_LIBRERIA,OTRA_LIBRERIA

+1

如果這是一個答案,請詳細說明並提供一些背景 – Bendy 2015-07-01 16:22:47