首页 > 解决方案 > 当我在 SQL Server 中使用 GUI 重命名时,过程的重命名不会反映到代码中

问题描述

我已经使用 GUI 更改了 SQL Server 中存储过程的名称并且它发生了更改,但是每当我尝试sp_helptext在查询编辑器中使用 修改过程代码时,它都会显示旧的过程名称。

如何摆脱问题?

标签: sql-serverstored-proceduresrename

解决方案


似乎只有在您运行 ALTER 语句时才会更新此定义。

不要使用使用 sp_helptext 编写脚本!

如果要修改过程代码,请使用 SSMS GUI:右键单击过程 > 更改为 > 新查询。或使用以下方法之一从 T-SQL 获取定义:

select object_definition(object_id('uspTestProc'))
select * from sys.sql_modules where object_id = object_id('uspTestProc')

除了您遇到的问题,在sp_help 文档中您可以阅读 sp_help 结果:“每行包含 Transact-SQL 定义的 255 个字符”。这意味着如果程序代码中有超过 255 个字符的行,则该行将被分解为 255 个字符块。在最好的情况下,您的代码将无法工作,但如果您不走运,它将工作并产生不正确的结果,例如,如果您在注释中的某些代码将被移至新行并取消注释。


推荐阅读