0
比方說,我有一個默認值爲GETDATE()的表上的DATETIME列。我也有一個INSERT語句進入該表,而不是列出列中列的列(所以默認是隱式應用)。在SQL Server(和其他SQL數據庫)上的事務中,在INSERT或COMMIT上應用了列默認值?
此INSERT語句位於一個事務塊的開始處,總的來說,運行5秒即可。
比方說,我開始在12:30:00運行事務(上面的INSERT語句是事務中的第一條語句),它在12:30:05提交。
在默認欄中,我會看到12:30:00還是12:30:05?
獎勵:其他RDBMS如MySQL,PostgreSQL和Oracle怎麼樣?
我的假設是12:30:00,而只是想檢查...
插入後你實際看到了什麼?你檢查過了嗎? – Rahul
不,這是一個理論問題,我想知道所有RDBMSs ...我可以在SQL Server上自己測試,但不是其他人。 – Ruslan
概念在每個RDBMS中都是一樣的。列默認值將在插入點應用,而不是在提交點。如果tran成功,你會看到添加的行或根本沒有。 – Rahul