1
我有一個SQL過程,它應執行FOR-IN(SELECT ..)循環,其中SELECT內容應根據某些輸入參數。我的想法是將SELECT字符串存儲到一個變量中,然後嘗試在FOR-IN循環中提取變量值,但目前爲止沒有成功(以前有一個修復的SELECT語句用於那裏,這就是我現在要替換的)。代碼看起來大致如下在SQL FOR-IN(SELECT)循環中使用字符串變量的值循環
PROCEDURE run(p_boolean BOOLEAN)
IS
BEGIN
DECLARE
v_mystring VARCHAR(50);
BEGIN
IF p_boolean = TRUE
THEN
v_mystring := 'SELECT something...';
ELSE
v_mystring := 'SELECT something else...';
END IF;
FOR p_table_name IN (would-like-to-use-the-value-of-v_mystring-here-some-way)
LOOP
...
END LOOP;
END;
END;
作爲在SQL相當新手,很可能發生的試圖在這裏使用一個字符串變量值的整個概念是錯誤的。我瀏覽了一些教程並嘗試了一些其他想法(例如遊標),但沒有結果。任何想法表示讚賞
該平臺是Oracle。 FOR循環基本上除了使用p_table_name.table_name進行日誌打印外沒有其他任何操作 – hammerfest