web-dev-qa-db-ja.com

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;
11
Elisabeth

GETDATE()ではなく、SYSDATEが必要だと思います。それを試してみてください:

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

sysdateであるgetdate()と同等のOracleを使用します。 こちらについてお読みください Getdate()はSQL Serverに属し、Oracleでは機能しません。

その他のオプションはcurrent_date

8
Mudassir Hasan

getdate() MS-SQLの場合、sysdate Oracleサーバーの場合

2
ebagaipo

SYSDATEGETDATEは同じように機能します。

SYSDATEはOracle構文と互換性があり、GETDATEはMicrosoft SQL Server構文と互換性があります。

1
Vinci Da