Может кто-нибудь сообщить мне, где проблема в моем коде?
SET SERVEROUTPUT ON;
daclare
sql_stmt varchar(500);
n number(3);
n :=0;
begin
FOR vori IN (select ri from voucher_p1 where vchstate=chr(4))
LOOP
sql_stmt := 'select count(sernum) from voucher_p1 where ENCPIN in ( select ENCPIN from voucher_p1 where ri=' || vori.ri || ')'
EXECUTE immediate sql_stmt into n;
DBMS_OUTPUT.PUT_LINE( 'Column Variable: ' || n );
END LOOP;
end;
/
Я запускаю его в Oracle 9.2.0, и он возвращает это сообщение, как показано ниже:
EXECUTE immediate sql_stmt into n;
*
ERROR at line 5:
ORA-06550: line 5, column 1:
PLS-00103: Encountered the symbol "EXECUTE" when expecting one of the
following:
. ( * @ % & = - + ; < / > at in is mod not rem
<an exponent (**)> <> or != or ~= >= <= <> and or like
between ||