Проблема с использованием «выполнить немедленно» в процедуре PL SQL - PullRequest
5 голосов
/ 07 июня 2011

Я использую следующий код в процедуре PL SQL:

execute immediate 'select count(distinct item_type) into counter_variable
from items where ' || field_name || ' is not null'

Здесь,

counter_variable объявляется в разделе объявления процедуры field_name - это параметр IN для процедуры PL SQL, а переданные значения будут именами столбцов из таблицы 'items'

Я получаю ошибку «Неверный оператор SQL», и я не могу выяснить причину. Есть идеи?

Спасибо

1 Ответ

10 голосов
/ 07 июня 2011

Предложение into является PL / SQL и недопустимо в операторе SQL.Попробуйте это:

execute immediate 'select count(distinct item_type) 
from items where ' || field_name || ' is not null' into counter_variable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...