13

当我调试此代码时,为什么 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

4 回答 4

38

我想你想要SYSDATE,不是GETDATE()。试试看:

UPDATE TableName SET LastModifiedDate = (SELECT SYSDATE FROM DUAL);
于 2013-04-12T13:08:01.110 回答
8

使用 ORACLE 等效getdate()sysdate. 在这里阅读。 Getdate() 属于 SQL Server ,不适用于 Oracle。

其他选项是current_date

于 2013-04-12T13:08:27.940 回答
3

getdate()用于 MS-SQL,sysdate用于 Oracle 服务器

于 2013-12-07T10:00:03.607 回答
1

SYSDATEGETDATE执行相同的操作。

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

于 2016-08-09T08:37:59.353 回答