当前位置: 首页 > 面试题库 >

在BEGIN / END TRANSACTION中执行存储过程

曹驰
2023-03-14
问题内容

如果我在SQL中创建一个存储过程并EXEC spStoredProcedure在BEGIN / END
TRANSACTION中调用它(),那么此其他存储过程是否也属于事务?

我不知道它是否像C#中的try / catches一样工作。


问题答案:

是的,您在“开始事务”和“提交”(或“回滚”)之间进行的 所有操作都是 事务的一部分。



 类似资料:
  • 问题内容: 简而言之:我正在尝试在Entity Framework中运行Oracle存储过程(我知道这听起来很奇怪,但是在一般应用程序中使用Entity Framework,但是由于修改密钥的限制,EF无法处理此特定命令。值)。 过程具有一些参数(仅IN),并更新表中的值。我通过运行测试了它: 它工作正常。 我的参数定义如下: 我的查询是: 我正在尝试从C#代码执行它。即通过运行: 我收到错误OR

  • 我如何在服务器的另一个存储过程中执行SQL存储过程?我将如何传递第二个过程的参数。?

  • 问题内容: 我想使用Oracle SQL Developer异步执行存储过程很多次。 伪代码 存储过程的目的是进行一些插入。为了进行测试,我只想异步执行存储过程很多次。我不在乎任何返回值。 有没有一种 “简便”的 方法来做到这一点? 问题答案: 由于您要模拟N个会话,每个会话均调用该过程1000 / N次,因此我可能会执行类似的操作 本示例将启动10个会话,每个会话将快速连续执行该过程100次,前

  • 我创建了一个过程,如: 并试图像这样执行它: 但它会抛出以下错误: 错误:函数insert_user_ax_register(未知,未知,未知,带时区的时间戳,未知,未知,带时区的时间戳,未知,未知,未知,bigint)不存在SQL状态:42883提示:没有函数匹配给定的名称和参数类型。可能需要添加显式类型转换。角色: 16 请帮我解决这个问题。我是新来的pgsql,无法从谷歌找到任何解决方案。我

  • 问题内容: 我对执行速度非常慢的存储过程有些困惑。该存储过程基本上包含一个使用传入参数(in_id)的查询,并将其放在游标中,如下所示: 当我获得带有预定义值的SQL查询的执行计划时,使用索引可以得到良好的查询结果。但是,当我从应用程序中调用该过程时,我看到没有索引在使用中,并且该表得到了完整扫描,从而降低了性能。 如果删除WHERE子句的第一部分“(in_id为null)”,则应用程序的性能将再