編寫一個過程,我必須使用「where字段IN(SET)」條件進行更新。我想用下面的查詢從表中檢索此「SET」:將選擇存儲到一個變量中,以便將來在過程中使用
SELECT WM_CONCAT(fieldX) FROM TableX WHERE .... ;
我想這個選擇保存到一個變量和以後使用它的「裏田(SET)」條件。喜歡的東西:
UPDATE TABLEY SET ... WHERE fieldX IN (Variable);
現在IM當我嘗試做一個選擇與得到這個錯誤的情況像我想的更新:
ORA-00932: inconsistent datatypes: expected - got CLOB
00932. 00000 - "inconsistent datatypes: expected %s got %s"
Thx提前。
再說,我不喜歡做一個選擇,每更新時,它是相同的數據。有什麼辦法可以將這個選擇存儲到一個變量中以備後用,以防止重複同一個查詢一遍又一遍嗎?謝謝。 – Negashion
請注意,數據庫表中實際上是一種保存數據的變量,供以後使用。因此您可以利用臨時表進行會話內存儲。另一種方式是plsql colleciton數據結構,其中大部分映射到表。除非您可以確定底層數據在連續調用之間不會發生變化,否則您可能會更好地重複查詢。 – collapsar