【发布时间】:2010-01-04 22:59:53
【问题描述】:
我有大约 100 个 SQL 视图,它们是这个的变体:
select * from RTC.dbo.MyTable
...现在我发现我需要将 RTC 表的名称更改为其他名称。除了一次编辑一个视图之外,有没有办法将他们所有的 drop/create 语句编写到一个文本文件中,以便我可以进行全局替换?
【问题讨论】:
标签: sql-server view
我有大约 100 个 SQL 视图,它们是这个的变体:
select * from RTC.dbo.MyTable
...现在我发现我需要将 RTC 表的名称更改为其他名称。除了一次编辑一个视图之外,有没有办法将他们所有的 drop/create 语句编写到一个文本文件中,以便我可以进行全局替换?
【问题讨论】:
标签: sql-server view
在 SSMS 中右键单击数据库,转到任务并选择“生成脚本...”。选择“视图”,选择要导出的视图,导出。
【讨论】:
我会使用 PowerShell。如果您没有使用 SQL 2008 客户端工具,请安装它们。然后获取 PowerShell 客户端,添加已注册的管理单元(有大量关于如何执行此操作的信息),然后使用目录结构访问代表您的视图的文件夹。
然后使用类似的脚本编写它们:
获取子项 | % {$_.Script()}
使用 ScriptOptions 告诉它使用 Alter 脚本。
并替换“RTC”。使用新的数据库名称...并使用 sqlcmd 运行它们。
PowerShell 实际上也成为了一个非常好的部署选项。
【讨论】: