11.3.1 UPDATE 語法
用戶可以用UPDATE 語句來更新表中一列或多列數據值,其語法如下:
各參數說明如下:
SETSET 子句用於指定更新的方法,即用的值取代相應的列的值。如果省略 WHERE 子句,那麼表中的所有數據均會受到影響。在FROM 子句中指定的表或列的別名不能用於SET 子句中。 column_name
指定要更新數據的列。IDENTITY 列不能被更新。 expression
可以是常量、變量、表達式或返回單個值的子查詢。 DEFAULT
指定使用已經定義的缺省值作為列的值。 NULL
指定使用NULL 值作為列的值。 @variable
事先定義的變量,用於存儲表達式的值。應注意SET @variable = column = expression 將變量和列設定為與表達式相同的值,它與SET @variable = column, column = expression 語句不同,後者將列的值賦給變量後再將表達式的值賦給列。 其余參數和注意事項與DELETE 語句相同。
11.3.2 更新記錄11.3.3 大量數據更新
使用UPDATE 更新數據時,會將被更新的原數據存放到事務處理日志中。如果所更新的表特別大,則有可能在命令尚未執行完時,就將事務處理日志填滿了。這時SQL Server會生成錯誤信息,並將更新過的數據返回原樣。解決此問題有兩種辦法:一種是加大事務處理日志的存儲空間,但這似乎不大合算;另一種是分解更新語句的操作過程,並及時清理事務處理日志。例如,將更新命令分解為兩個命令,在其間插入BACKUP LOG 命令將事務處理日志清除(關於BACKUP LOG 命令的詳細介紹請參見第15 章“備份與恢復”)。