gpt4 book ai didi

sql - 在不破坏脚本和存储过程的情况下重命名列

转载 作者:行者123 更新时间:2023-12-02 13:50:36 25 4
gpt4 key购买 nike

我想将列名称修改为表中存在的新名称

但这里的问题是我想手动修改触发器SP's中存在的列名称

有没有更好的方法。

重命名列,请使用此

sp_RENAME 'Tablename.old_Column', 'new_column' , 'COLUMN';

类似地,我如何为触发器SP's做到这一点?无需打开每个脚本?

最佳答案

嗯,有很多第三方工具 promise 这种类型的“安全重命名”,有些是免费的,有些不是:

  • ApexSQL 有 free tool为此,如 MWillemse在他的回答中写道,
  • RedGate 有一个名为 SQLPrompt 的商业工具它还具有安全的重命名功能,但它远非免费。
  • Microsoft 有一个名为 SQL Server Data Tools 的 Visual Studio 插件(或简短版本中的 SSDT),如 Dan Guzman在他的评论中写道。

我不得不说,我从未尝试过任何这些特定工​​具来完成特定任务,但我确实对 SSDT 和 RedGate 的一些产品有一些经验,我认为它们是非常好的工具。我对 ApexSQL 一无所知。

另一种选择是尝试自己编写 sql 脚本,但是在开始之前需要考虑以下几点:

  • 可以从 SQL Server 外部直接访问您的表吗?我的意思是,是否有可能某些软件直接在该表上执行sql语句?如果是这样,当您重命名该列时可能会破坏它,并且没有 SQL 工具在这种情况下会提供帮助。
  • 您的 SQL 脚本技能真的那么好吗?我认为自己对 sql server 很有经验,但我认为编写这样的脚本超出了我的能力。这对我来说并不是不可能,但可能需要花费太多的时间和精力才能得到一些我可以免费得到的东西。

如果您决定自己编写,有几篇文章可能会帮助您完成该任务:

首先,微软官方文档sys.sql_expression_dependencies .
二、一篇文章叫Different Ways to Find SQL Server Object Dependencies这是由一位拥有 13 年经验的 DBA 编写的,最后但并非最不重要的一点是,a related question在 StackExchange 的数据库管理员网站上。

当然,您可以采用 Gordon Linoff 在他的评论中建议的安全方式,或者使用他的答案中建议的诸如目标数据之类的同义词,但随后您将必须手动修改所有列依赖项,并从据我了解,这就是你想要避免的。

关于sql - 在不破坏脚本和存储过程的情况下重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com