Использование переменной связывания в качестве имени таблицы в скрипте Alter table - PullRequest
0 голосов
/ 21 мая 2018
FOR k in c2 LOOP
         l_sql := 'ALTER TABLE :TABLE_NAME DISABLE CONSTRAINT 
                  :CONSTRAINT_NAME CASCADE';
         l_sql :='INSERT INTO TMP_CONSTRAINT (TABLE_NAME,CONSTRAINT_NAME) 
                  VALUES ('':TABLE_NAME'', '':CONSTRAINT_NAME'')';
         EXECUTE IMMEDIATE l_sql USING k.TABLE_NAME, k.CONSTRAINT_NAME;
END LOOP;

Над динамическим SQL взять переменную из курсора и соответственно отключить ограничение и вставить запись во временную таблицу.Я получаю ошибку "bind variable does not exist" в обновлении.

1 Ответ

0 голосов
/ 21 мая 2018

Это на самом деле вызвано одним кодом в INSERT

Исправлено следующим образом:

l_sql :='INSERT INTO TMP_ENABLED_CONSTRAINT (TABLE_NAME,CONSTRAINT_NAME) VALUES (:TABLE_NAME ,:CONSTRAINT_NAME)';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...