更改几个表中的列参数

时间:2012-04-23 13:50:45

标签: c# .net sql

我的数据库中有20个表格,列数相同。

我想在所有表格中更改流派的默认值(表格中的列)。

可以使用sql语句吗?

3 个答案:

答案 0 :(得分:2)

通过快速研究,我得到了这个:

ALTER TABLE table_name
ALTER COLUMN column_name datatype SET DEFAULT default_value

我不是SQL专家,但这似乎可以胜任。 资料来源:http://www.w3schools.com/sql/sql_default.asp。无论如何,这是一个很好的sql问题资源。

答案 1 :(得分:2)

为了稍微扩展Faust的答案,可以使用SP_MSFOREACHTABLE(未记录的过程)来完成,无需为所有表写入:

EXECUTE SP_MSFOREACHTABLE 
    @Command1 = 'ALTER TABLE ? ADD CONSTRAINT DF_Genre DEFAULT (''Default'') FOR Genre ',
    @WhereAnd = 'AND o.Name IN (SELECT Table_Name FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = ''Genre'')'

答案 2 :(得分:1)

ALTER TABLE dbo.Tbl_1
    DROP CONSTRAINT DF_genre

ALTER TABLE dbo.Tbl_1 ADD CONSTRAINT
    DF_genre DEFAULT ('new value') FOR genre

将'DF_genre'替换为每个表上命名的约束。