为什么GETDATE()是无效的标识符

时间:2013-04-12 13:05:13

标签: oracle function triggers

当我调试此代码时,为什么GETDATE()是一个无效的标识符,表示Oracle Sql Developer工具:

CREATE OR REPLACE TRIGGER SPName
AFTER UPDATE
ON TableName 
FOR EACH ROW
BEGIN
    UPDATE TableName SET LastModifiedDate = GETDATE() WHERE TableName.DET_ID = :new.DET_ID;
END;

4 个答案:

答案 0 :(得分:36)

我认为您需要SYSDATE,而不是GETDATE()。试试吧:

UPDATE TableName SET LastModifiedDate = (SELECT SYSDATE FROM DUAL);

答案 1 :(得分:8)

使用等同于getdate()的{​​{1}}的ORACLE sysdateRead about here. Getdate()属于SQL Server,不适用于Oracle。

其他选项是current_date

答案 2 :(得分:2)

getdate()表示MS-SQL,sysdate表示Oracle服务器

答案 3 :(得分:1)

SYSDATEGETDATE执行相同的操作。

SYSDATE与Oracle语法兼容,GETDATE与Microsoft SQL Server语法兼容。