我已使用GUI在SQL Server中更改了存储过程的名称,并且它也进行了更改,但是每当我尝试使用sp_helptext
修改过程代码时,在查询编辑器中,它就会显示旧过程名称。
如何摆脱这个问题?
答案 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。