sql-server - SQL Server 存储过程不会引发异常
问题描述
我有一个存储过程,SQL Server 2017
它在表中插入一行:
CREATE PROCEDURE [dbo].[insertsomething]
AS
BEGIN
BEGIN TRY
... #insert statement here
END TRY
BEGIN CATCH
SELECT 'Failed'
THROW;
END CATCH
END
使用 调用该insertsomething
过程时pyodbc.execute
,我仅fetchone()
使用cursor
.
try:
cursor = connection.cursor()
cursor.execute('{CALL dbo.insertsomething (?, ? ...)}', params)
result = cursor.fetchone()[0]
except Exception as e:
raise
调用nextset
不会引发错误。由于第一个结果集,它似乎THROW
不会返回错误。是否有任何属性或方法可以调用或使用来引发来自的错误?我没有修改我们的权限,所以我必须在应用程序级别捕获异常。THROW
stored procedure
解决方案
推荐阅读
- browser - 无法访问此站点 localhost 拒绝连接。使用 jboss 7.1 部署
- python - 在 Windows 中捕获 subprocess.run() 的输出
- android - 如何避免flutter中的内存不足?
- javascript - 如果我想为数组的单个索引提供多个元素,如何在 javascript 中填充数组
- python - 使用 ahk 库将击键发送到记事本
- mysql - 当一个数据有撇号标记时,ajax 请求出错(无效的 json 响应)
- python - 在 Networkx 中映射两个图
- r - 如果月-年组合不等于系统的月-年,则从同一月的去年值交换值的结果
- components - 如何在 Svelte 中的多个插槽和它们的父级之间共享状态
- apache-pig - 阿帕奇猪查询