【发布时间】:2014-08-14 09:17:14
【问题描述】:
我在 Oracle 11g 中有以下存储过程。我使用 c# 通过 ASP.net 将表名作为参数传递。但是在运行应用程序时,我收到错误“ORA-00923: FROM keyword not found where expected error in oracle”。
PROCEDURE "ARCHIVE_FILTERDATA" ( ITYPE IN VARCHAR2, itableName IN VARCHAR2, cur_archive OUT sys_refcursor ) AS
stmt clob;
endstmt clob;
BEGIN
IF ITYPE='Week'
THEN stmt := 'DELETE FROM '|| itableName ||' WHERE CREATEDATE < (SELECT DATE_ADD(CURDATE(), INTERVAL , - 1, WEEK))';
EXECUTE IMMEDIATE stmt;
END IF;
END;
所以任何人有解决方案请尽快让我知道。提前致谢
【问题讨论】:
-
你的内部 SELECT 必须有 FROM
-
另外,Oracle 中既没有
date_add()也没有curdate()函数