BIC*_*ube 3 sql-server alter-table
我有一个表,我需要删除多个遵循模式的列.假设我的表中的列名是(A1,A2,A3,B1,B2,B3),我需要删除以B(B1,B2,B3)开头的所有列.我能够在单独的查询中提取它们但仍然无法在输出上运行drop语句.我非常感谢你的帮助.请注意,我不允许使用游标部署脚本.所以纯SQL更可取.
谢谢,
试试这个.使用Dynamic SQL产生跌落脚本列这是继特定模式
DECLARE @sql NVARCHAR(max)=''
SELECT @sql += ' Alter table ' + TABLE_NAME + ' DROP COLUMN ' + COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'tablename'
AND TABLE_SCHEMA = 'SchemaName'
AND TABLE_CATALOG = 'DatabaseName'
AND COLUMN_NAME LIKE 'B%'
--print @sql
EXEC Sp_executesql @sql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1645 次 |
| 最近记录: |