我的数据库中有20个表格,列数相同。
我想在所有表格中更改流派的默认值(表格中的列)。
可以使用sql语句吗?
答案 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'替换为每个表上命名的约束。