当我使用GUI IN SQL Server重命名时,过程重命名未反映到代码中

时间:2018-06-26 09:19:43

标签: sql-server stored-procedures rename

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

如何摆脱这个问题?

2 个答案:

答案 0 :(得分:0)

似乎只有在您运行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 docs中,您还可以阅读有关sp_help结果的信息:“每行包含255个Transact-SQL定义的字符”。这意味着,如果过程代码中的行长于255个字符,则该行将细分为255个字符块。在最佳情况下,您的代码将无法正常工作,但是如果不幸,它会正常工作并产生不正确的结果,例如,注释中包含的某些代码将移至新行并变得无注释。

答案 1 :(得分:0)

在SQL Server中重命名过程名称不是一个好的选择,因为它不会更新过程文本。 避免重命名过程,而喜欢DROP和CREATE。