我希望能够像这样执行我的以下过程:
exec procname('29-JAN-2011');
过程代码是:
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');