-1
我想重寫下面的代碼,以避免ORA-00942錯誤(表或視圖不存在)。這是因爲在編譯我的代碼時,表(MY_TABLE_NAME)仍然不存在,因此我需要使其成爲動態的。oracle plsql動態循環
下面是代碼(使用通用名稱)
DECLARE
C INTEGER := 0;
BEGIN
SELECT COUNT(1) INTO C FROM USER_TABLES WHERE TABLE_NAME = 'MY_TABLE_NAME';
IF C > 0 THEN
DECLARE
CURSOR c_var IS SELECT COLUMN_1, COLUMN_2 FROM MY_TABLE_NAME WHERE ACTIVE = 1;
v_id NUMBER(15);
BEGIN
FOR prec IN c_var LOOP
......testcode
END LOOP;
EXECUTE IMMEDIATE 'testcode';
END;
END IF;
END;
/
這是沒有必要使用cursor..so我試圖重寫它,並用正常的循環,因爲我覺得它更容易使代碼更加動感,但是我仍然在努力
你到底要帶'MY_TABLE_NAME'做什麼?選擇一行,多行,插入,更新,刪除? –
看看[這裏](http://stackoverflow.com/questions/41855482/select-from-table-that-does-not-exist/41855631#41855631)。爲什麼這個問題有所不同? – Aleksej
@Aleksej well..it並不像我以前的帖子那麼容易..我只是不能解決這個問題與執行立即或至少我試過但失敗,因爲這裏的代碼更復雜 – NoName123