我有一個非常複雜的查詢,其中包含「With」子句。這個查詢在DB2客戶端上執行時工作正常。但是,如果在PL SQL存儲過程的For循環遊標中使用相同的查詢,則它不起作用。試圖將存儲過程應用於數據庫時,它會給出語法錯誤,如下所示。在DB2 PL的For循環遊標中使用「With」子句進行查詢
SQL0104N An unexpected token "AS" was found following "col5)
for循環如下所示。
FOR records AS cursors CURSOR FOR
(
WITH
temp1
(
col1, col2, col3, col4, col5
)
AS
(
SELECT
col1, col2, col3, col4, col5
FROM
table1
)
WITH
temp2
(
col6, col7, col8, col9, col10
)
AS
(
SELECT
col6, col7, col8, col9, col10
FROM
table2
)
SELECT col1, col2, col3, col4, col5, col6, co7, col8, col9, col10
FROM temp1, temp2
)
DO
-- Do Something here.
END FOR;
您可以請幫忙解決這個問題。提前致謝。
你爲什麼要在循環中執行語句? SQL通常在集合中更好。 –
沒有特定的原因。 SQL查詢返回的數據將在循環內部修改。我必須應用各種轉換規則,並且我認爲通過記錄處理記錄的結果給了我對數據的很多控制權。因此使用如上所述的方法。 – Abhi