当我调试此代码时,为什么 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;
我想你想要SYSDATE
,不是GETDATE()
。试试看:
UPDATE TableName SET LastModifiedDate = (SELECT SYSDATE FROM DUAL);
使用 ORACLE 等效getdate()
于sysdate
. 在这里阅读。
Getdate() 属于 SQL Server ,不适用于 Oracle。
其他选项是current_date
getdate()
用于 MS-SQL,sysdate
用于 Oracle 服务器
SYSDATE
并GETDATE
执行相同的操作。
SYSDATE
与 Oracle 语法GETDATE
兼容,并且与 Microsoft SQL Server 语法兼容。