【问题标题】:Update 500 tables with SSDT on VS2017 for SQL Server 2016在 VS2017 for SQL Server 2016 上使用 SSDT 更新 500 个表
【发布时间】:2017-10-24 15:33:02
【问题描述】:

我正在使用 VS2017 和 SQL Server 2016 处理 SSDT 数据库项目。我需要将所有具有 char 数据类型的表列更改为 nvarchar

varcharnvarchartextnvarcharsmallintint 数据类型也是如此。

我的表文件夹中有 500 个表。替换/更新这些列的最佳方法是什么?

提前致谢

【问题讨论】:

    标签: visual-studio-2017 sql-server-2016 sql-server-data-tools


    【解决方案1】:

    我不确定是否有最好的方法来做到这一点,但是我会这样做(注意空格和括号在文本搜索中很重要):

    1. 将解决方案中的所有文本“CHAR(”替换为“NCHAR(”
    2. " VARCHAR(" 到" NVARCHAR("
    3. "TEXT" to "NVARCHAR(MAX)" --> 注意这个比较危险,需要手动验证一下是否所有修改都ok
    4. “SMALLINT”到“INT”

    当你这样做时,构建项目并修复错误。

    不过我能理解你为什么要切换到 UNICODE,但是在系统范围内将所有 SMALLINT 都转换为 INT 是个坏主意。

    【讨论】:

    • 感谢您的回答。如果仅针对表而不是针对整个项目进行转换,您还有什么建议,我认为带有 SSDT 的 VS2017 没有仅文件夹选项。如果我在这里遗漏任何东西,请告诉我。谢谢。
    • 您可以使用 sublime_text 或 notepad++ 或任何其他强大的文本编辑器。我将举一个关于 sublime_text 的例子。搜索所有文件 (ctrl+shift+F)。在那里您可以选择您正在查看的唯一文件夹。因此,获取所有包含表格的文件夹(我希望您有不同的表格文件夹)并使用这些文件夹进行替换。
    • 非常感谢,下载了 sublime_Text 。 10 分钟内完成我的工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2021-06-12
    • 1970-01-01
    相关资源
    最近更新 更多