以下のprocを次のように実行できるようにしたい:
exec procname('29-JAN-2011');
procコードは次のとおりです。
PROCEDURE procname(pardate VARCHAR2) IS
vardate DATE := to_date(pardate, 'DD-MON-YYYY');
SQLS VARCHAR2(4000);
BEGIN
SQLS := 'SELECT cola, colb
FROM tablea
WHERE TRUNC(coldate) = TRUNC(TO_DATE('''||pardate||''',''DD/MON/YYYY''))';
EXECUTE IMMEDIATE SQLS;
END;
エラーをスローし続けます:
ORA-00904: "JAN": 識別子が無効です。
コンパイルされますが、次のコマンドを実行するとエラーがスローされます。
EXEC procname('29-JAN-2011');