当前位置: 首页 > 知识库问答 >
问题:

运行alter procedure时,不会保存对过程的更改

柯波峻
2023-03-14

Sql 服务器 2012 中有一个名为“proc1”的存储过程。我已经采取了过程脚本,然后实现了异常处理(开始尝试...结束 尝试开始捕获...结束捕获)在它。

我将“Create procedure proc1”语句改为“Alter procedure proc1 ”,然后执行它。它成功完成,但当我再次尝试获取相同的过程脚本。找不到异常处理部分。代码看起来像旧的存储过程代码。

我想知道这是否可能。即使我没有权限,它也会在“alter procedure proc1”编译期间返回一条错误消息。

共有1个答案

陶英纵
2023-03-14

重要的是要理解存储过程是数据库的一部分。这意味着它们的行为类似于任何其他用DDL(数据定义语言)语句定义的“正常”对象,如表。因此:

  • 事务适用于DDL(数据定义语言)语句,包括CREATE PROCEDURE/ALTER PROCEDURE。因此,如果您用于更改过程的会话在事务中并且您从未提交过该事务,则更改将被回滚。
  • 过程的内容是数据库的一部分,因此恢复数据库的备份不仅会恢复数据,还会恢复过程的更改。

正如您所说的,如果有一个错误导致数据库完全拒绝您的更改,您应该在尝试执行更改时收到一个明显的错误,并且不会进行更改。例如,如果<code>ALTER PROCEDURE

 类似资料:
  • 问题内容: 因此,我正在尝试Selenium自动化,并且试图编写一个测试用例,该用例可以登录,转到特定页面,输入数据,然后按Submit。问题在于,它运行时会键入凭据,然后按“提交”,网站将返回: 该站点使用HTTP cookie来验证授权信息。请启用HTTP cookie以继续。 但是,当我添加此行[以// 1表示]时: 它允许登录通过,直到到达发送消息页面[以// 2表示],然后再次要求提供凭

  • 我正在寻找一种方法,在运行时改变JavaFX FXML应用程序的视图,并保存结果,以便在下次应用程序启动时显示。有办法吗?我在网上搜索,但没有找到任何解决方案!例如:我有一个函数,可以在GridPane中添加标签,并保存新添加的标签。在我的应用程序下一次启动时,新标签出现了。这是一个数据库应用程序,用户可以为自定义数据添加新的数据库字段。

  • 一个被提交了的改动会被永久地保存在仓库(repository)中。然而,在你日常工作中你经常需要“暂时地”保存一下你的一些本地改动。例如,如果你正在开发一个新的功能,但是与此同时又得到了一个错误报告,并且需要马上修复它,而你现在的本地改动又和这个错误毫无关系,因此你必须暂时地停止新功能的开发,来开始着手修复这个错误。并且你还想要保存那些已完成的开发工作,以便之后能继续来完成它。 像这样的情况会随时

  • 本文向大家介绍cmd运行python文件时对结果进行保存的方法,包括了cmd运行python文件时对结果进行保存的方法的使用技巧和注意事项,需要的朋友参考一下 当用cmd命令行运行python文件时,我们知道可以通过 来运行python文件,此时的输出会直接打印到cmd输出行中,如果希望将运行直接保存而不是即时输出,除了在python代码中直接写入保存,还可以通过命令行: 保存到当前文件目录下,或

  • 希望你能帮助我。当运行应用程序时,它正在工作,但当我再次运行时,它不工作,并且没有发现错误。我不知道为什么,但有时它起作用,但有时它不起作用。这是我的密码。。。。 公共类filldisResult扩展了AppCompative活动{ SharedPreferences SharedPreferences=getSharedPreferences(SCOREPREFERENCE,MODE_PRIVA

  • 问题内容: 我从这里拉官方的詹金斯码头工人形象。在Jenkins UI中,我创建一个新作业,安装github插件并在作业配置中设置存储库URL。 最后,我保存了詹金斯的更改。 我想按原样创建一个新图像。我停止容器,并将其提交到新映像。 然后,我从新映像开始一个新容器… Jenkins不包含任何更改。 我用 问题答案: 该Dockerfile声明詹金斯主目录的卷 这意味着对Jenkins配置的所有更