sql-server - 当我在 SQL Server 中使用 GUI 重命名时,过程的重命名不会反映到代码中
问题描述
我已经使用 GUI 更改了 SQL Server 中存储过程的名称并且它发生了更改,但是每当我尝试sp_helptext
在查询编辑器中使用 修改过程代码时,它都会显示旧的过程名称。
如何摆脱问题?
解决方案
似乎只有在您运行 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 个字符块。在最好的情况下,您的代码将无法工作,但如果您不走运,它将工作并产生不正确的结果,例如,如果您在注释中的某些代码将被移至新行并取消注释。
推荐阅读
- android - 任务完成时的 MvvmCross / MvxNotifyTask 回调
- database - Oracle Apex 19 中的进度向导:如何设置页面进度?
- javascript - 测试 gRPC 功能
- python - 即使在 Django 中删除 OneTone 关系后,UNIQUE 约束也会失败
- c# - 有没有办法从资源加载文件,然后通过 BinaryFormatter 反序列化它?
- node.js - Nodjs中的AES加密和JAVA中的解密
- c - 在 CodeBlocks 中编译后的代码输出是 19,9。有人可以帮我看看它是如何执行的吗?我得到的答案是 20,9
- html - 用于屏幕阅读器的 HTML - 使用链接隐藏文本
- bitbucket - Bitbucket API - 获取合并挂钩内拉取请求的评论列表
- spring-boot - 使用函数接口创建的 Spring 云流应用程序不在 Spring 云数据流中通信数据