使用默认约束值更新字段

时间:2018-05-16 14:05:54

标签: sql sql-server

如果列上有默认约束,如何更新现有记录以将其设置为默认值?

e.g。我想做像

这样的事情
UPDATE table1
SET col1 = DEFAULT(col1)
WHERE col2 = xxx

2 个答案:

答案 0 :(得分:3)

设置如下:

UPDATE table1
 SET col1 = DEFAULT
 WHERE col2 = xxx

答案 1 :(得分:0)

你可以试试这个。

 Create table tab1(id int, def int constraint df_def Default 10)

INSERT INTO tab1(id) VALUES(1)
INSERT INTO tab1(id,def) VALUES(2,15)

DECLARE @DefVal INT

SELECT @DefVal=REPLACE(REPLACE(object_definition(default_object_id),'(',''),')','')
FROM   sys.columns
WHERE  name      ='def'
AND    object_id = object_id('dbo.tab1')

UPDATE tab1 SET def=@DefVal WHERE id=2