当我调试此代码时,为什么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;
答案 0 :(得分:36)
我认为您需要SYSDATE
,而不是GETDATE()
。试试吧:
UPDATE TableName SET LastModifiedDate = (SELECT SYSDATE FROM DUAL);
答案 1 :(得分:8)
使用等同于getdate()
的{{1}}的ORACLE sysdate
。 Read about here.
Getdate()属于SQL Server,不适用于Oracle。
其他选项是current_date
答案 2 :(得分:2)
getdate()
表示MS-SQL,sysdate
表示Oracle服务器
答案 3 :(得分:1)
SYSDATE
和GETDATE
执行相同的操作。
SYSDATE
与Oracle语法兼容,GETDATE
与Microsoft SQL Server语法兼容。