Как решить ORA-01006 в процедуре? - PullRequest
0 голосов
/ 06 апреля 2019

Мне нужна процедура для подсчета количества чего-то и вставки в другую таблицу, но получаю ошибку

ORA-01006: переменная связывания не существует.

Вот мой код:

enter image description here

Вставка детали не выполняется и вместо нее происходит переход к исключению.

1 Ответ

1 голос
/ 06 апреля 2019

Ваш динамический вызов SQL:

EXECUTE IMMEDIATE v_sql USING v_result;

Это синтаксис для передачи параметра в динамический оператор.Но ваш код не принимает никаких параметров , потому что вы объединили их в строку.Следовательно, код отбрасывает ORA-01006.

Вместо этого вам нужно предоставить переменную для набора результатов, в который необходимо вернуться.Поэтому вызов должен быть

EXECUTE IMMEDIATE v_sql INTO v_result;

Синтаксис EXECUTE IMMEDIATE подробно описан в руководстве по PL / SQL .Вам следует добавить в закладки документацию Oracle для дальнейшего использования.

...