-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