Ответ 1
Я думаю, вы хотите SYSDATE
, а не GETDATE()
. Попробуйте:
UPDATE TableName SET LastModifiedDate = (SELECT SYSDATE FROM DUAL);
Почему 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.