sql – 重命名列而不破坏脚本和存储过程
我想将列名修改为表中的新名称
但这里有问题我想手动修改Triggers或SP中的列名. 有没有更好的方法来做到这一点. 要使用此重命名列 sp_RENAME 'Tablename.old_Column','new_column','COLUMN'; 同样,我怎么能为触发器或SP做它.没有打开每个脚本? 解决方法好吧,有一堆第三方工具承诺这种类型的“安全重命名”,有些是免费的,有些则不是:> ApexSQL有一个free tool,正如MWillemse在他的回答中所写, 我不得不说我从未尝试过这些特定工??具的任何特定工具,但我确实对SSDT和RedGate的一些产品有一些经验,我认为它们是非常好的工具.我对ApexSQL一无所知. 另一种选择是自己尝试编写sql脚本.但是在开始之前需要考虑以下几点: >您的表可以直接从SQL服务器外部访问吗?我的意思是,有些软件可能直接在该表上执行sql语句吗?如果是这样,您可能会在重命名该列时将其中断,并且在这种情况下没有sql工具可以提供帮助. 如果您决定自己编写,有一些文章可以帮助您完成该任务: 首先,微软官方文档sys.sql_expression_dependencies. 当然,你可以采用Gordon Linoff在评论中提出的安全方式,或者在他的回答中使用像目标数据这样的同义词,但是你必须手动修改所有列依赖关系,并从我理解的内容,这就是你想要避免的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |