SQL% ROWCOUNT дает ORA-00911: недопустимый символ

Jeb50 спросил: 03 февраля 2018 в 11:28 в: oracle

Я пытаюсь зарегистрировать, сколько строк повлияло на оператор DELETE, поэтому

delete MyTbl where MyCondition = 1;
insert into MyLog(MyTotal) values(SQL%ROWCOUNT);

получилось:

10 строки удалены.

вставить в значения MyLog (MyTotal) (SQL% ROWCOUNT)

Ошибка в строке 2ORA-00911: недопустимый символ

Причина:

Ничего общего с PL / SQL или нет. SQL% ROWCOUNT является специальным.

Нельзя использовать SQL% ROWCOUNT, как в инструкции INSERT, даже в блоке PL / SQL (будь то хранимая процедура или анонимная процедура); вам нужно создать переменную, присвоить ей счет и использовать эту переменную в INSERT

0 ответов