ser*_*hym 13 sql t-sql sql-server database-design metadata
我需要向数据库中的所有40个用户表添加一个删除标志列.我可以编写一个脚本来循环遍历sys.tables,但我想我会检查一下是否有人有更好的解决方案,或者预先为这个场景创建了sql.
Rem*_*anu 31
有一个没有文档但是众所周知的存储过程sp_msforeachtable:
exec sp_msforeachtable 'alter table ? add flag bit not null default 0';
Run Code Online (Sandbox Code Playgroud)
gbn*_*gbn 11
不,这是一个手动循环.
或者你当然可以构建一个SQL语句......
SELECT
'ALTER TABLE ' + T.name + ' ADD foo int NULL'
FROM
sys.tables AS T
WHERE
T.is_ms_shipped = 0
Run Code Online (Sandbox Code Playgroud)
或者没有证件
EXEC sys.sp_MSforeachtable 'ALTER TABLE ? ADD foo int NULL'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9441 次 |
最近记录: |