Почему GETDATE() имеет недопустимый идентификатор

Почему 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;

Ответ 1

Я думаю, вы хотите SYSDATE, а не GETDATE(). Попробуйте:

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

Ответ 2

Используйте эквивалент ORACLE getdate(), который равен sysdate. Читайте здесь. Getdate() принадлежит SQL Server, не будет работать с Oracle.

Другая опция current_date

Ответ 3

getdate() для MS-SQL, sysdate для сервера Oracle

Ответ 4

SYSDATE и GETDATE выполняются одинаково.

SYSDATE совместим с синтаксисом Oracle, а GETDATE совместим с синтаксисом Microsoft SQL Server.