У меня есть хранимая процедура PL / SQL (скажем, X), которая вставляет записи в таблицу. Я вызываю эту процедуру из другой процедуры (скажем, Y). У меня есть некоторые параметры в процедуре Y, такие как para1, para2, para3, которые могут иметь два значения: ноль или один, для нуля и одного значения. У меня есть один идентификатор, сохраненный в TBL_SETUP, и когда я вызываю процедуру XI, я хочу проверить, что если para1 NULL, затем вернуть NULL, если он не равен NULL, то проверить, равен ли он единице, затем вернуть YES_ID, а если нет, вернуть NO_ID.
Я пробовал что-то подобное. Я написал инструкцию SELECT для получения YES_ID, NO_ID перед вызовом процедуры, и она работает нормально, но когда я пишу вызов процедуры, как показано ниже, это выдает мне ошибку "PLS-00204: функция или псевдостолбец может использоваться внутри SQL только заявление ". Как использовать DECODE
в вызове процедуры?
PROC_X(DECODE(para1,NULL,NULL,DECODE(para1,'1',YES_ID,NO_ID)),para2,NULL,NULL,DECODE(para2,'1',YES_ID,NO_ID)),para3,NULL,NULL,DECODE(para3,'1',YES_ID,NO_ID)),)