我不小心将我的 sql 数据库中的所有表(100+)命名为前缀 2019_
直到现在才意识到这不是一个好主意(2年后才回到 SQL)
有什么方法可以将其批量交换为后缀甚至删除所有表?我什至无法打开它们。真的不想手动遍历它们。
如果这是一个愚蠢的问题,可能会在谷歌上搜索错误的术语
谢谢!
Bra*_*adC 19
在您的情况下,我可能会使用类似这样的脚本来sp_rename
为我生成所有命令:
SELECT SCHEMA_NAME(schema_id) as schemaname, name as tablename,
cmd = 'EXEC sp_rename ''' + SCHEMA_NAME(schema_id) + '.' + name + ''', '''
+ SUBSTRING(name, 6, 99) + ''';'
FROM sys.tables
WHERE type = 'U'
AND is_ms_shipped = 0
AND name LIKE '2019[_]%'
Run Code Online (Sandbox Code Playgroud)
这会从sys.tables
系统表中获取名称,并查找名称以 开头的所有用户创建的表2019_
。它会生成一个sp_rename
命令列表,您可以将其复制到新的 SSMS 窗口中并仔细检查以确保它们在运行前看起来正确无误。
请注意,这将破坏引用这些表的任何其他对象(视图、触发器、存储过程等),因此我希望该数据库处于开发初期。
归档时间: |
|
查看次数: |
3571 次 |
最近记录: |