基本上我想要的是一個last_modified_datestamp列,它被設置爲插入或更新行的日期。 我知道MySQL有它想知道sybase是否有一個等價物,或者我是否需要添加一個觸發器。是否有一種方法在sybase ase15中設置行更新時的列值
感謝, 肖恩
基本上我想要的是一個last_modified_datestamp列,它被設置爲插入或更新行的日期。 我知道MySQL有它想知道sybase是否有一個等價物,或者我是否需要添加一個觸發器。是否有一種方法在sybase ase15中設置行更新時的列值
感謝, 肖恩
我不知道這個世界的非標準無SQLS做,但IEC/ISO/ANSI標準SQL從其接受日期開始具有此功能作爲標準。
它是TIMESTAMP DataType的一列(不管你是什麼名字,例如UpdatedDateTime)。當行被UPDATE或INSERTED時,它由服務器自動設置,並且不能用代碼繞過。
GETDATE()的缺省值(Sybase中沒有「CURRENT DATE」)是完全不同的動物。當且僅當INSERT未指定該列的值時,其默認爲識別的DEFAULT值即當前日期時間。其次,它不會更新UPDATE命令。
現在我非常想告訴你關於世界的非SQL的原因是,他們沒有使用TIMESTAMP的標準要求,這是Unix Epoch,他們使用了一些有趣的廢話,而且你不會得到在一個符合標準的SQL中,這個有趣的廢話,你會得到標準的處理。您可以使用TSEQUAL Function訪問它(正常方式)。要直接讀取TIMESTAMP列,請按照示例將其視爲BINARY。
我覺得這是你追求的
ALTER TABLE table_name
MODIFY date_column DEFAULT CURRENT DATE
這樣做不是對整列而是隻對行進行操作嗎? – 2011-02-03 10:23:19
我已經嘗試過這一點,並在sybase我不得不使用`ALTER TABLE table_name修改date_column默認getdate()`,但這隻得到設置插入,而不是更新 – 2011-02-03 16:34:57