社区
MS-SQL Server
帖子详情
为啥@@error 总是0呢?
beyondjay
2008-07-14 11:00:18
一个大存储过程,里面调用了小的过程
小过程catch块里面
RAISERROR( @error_message, @error_severity, 1) with seterror
我用vs调试的时候,@@error = 50000
正常。
但是跳到大的程序里面@@error = 0,奇怪阿,我raiseerror了怎么还是0呢?
...全文
265
20
打赏
收藏
为啥@@error 总是0呢?
一个大存储过程,里面调用了小的过程 小过程catch块里面 RAISERROR( @error_message, @error_severity, 1) with seterror 我用vs调试的时候,@@error = 50000 正常。 但是跳到大的程序里面@@error = 0,奇怪阿,我raiseerror了怎么还是0呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwd252
2008-07-15
打赏
举报
回复
把代码贴出来啊
Garnett_KG
2008-07-15
打赏
举报
回复
@@ERROR 判断的是
上一条语句
执行是否成功,不是
上一个批次
lff642
2008-07-15
打赏
举报
回复
@@ERROR
返回最后执行的 Transact-SQL 语句的错误代码。
语法
@@ERROR
返回类型
integer
注释
当 Microsoft® SQL Server™ 完成 Transact-SQL 语句的执行时,如果语句执行成功,则 @@ERROR 设置为 0。若出现一个错误,则返回一条错误信息。@@ERROR 返回此错误信息代码,直到另一条 Transact-SQL 语句被执行。您可以在 sysmessages 系统表中查看与 @@ERROR 错误代码相关的文本信息。
由于 @@ERROR 在每一条语句执行后被清除并且重置,应在语句验证后立即检查它,或将其保存到一个局部变量中以备事后查看。
wgzaaa
2008-07-15
打赏
举报
回复
这个帖子不是结了吗,怎么还放这里让大家辛苦?
http://topic.csdn.net/u/20080714/11/4141947a-8583-4aa1-9993-a345f8d4d107.html
让你望见影子的墙
2008-07-15
打赏
举报
回复
[Quote=引用楼主 beyondjay 的帖子:]
一个大存储过程,里面调用了小的过程
小过程catch块里面
RAISERROR( @error_message, @error_severity, 1) with seterror
我用vs调试的时候,@@error = 50000
正常。
但是跳到大的程序里面@@error = 0,奇怪阿,我raiseerror了怎么还是0呢?
[/Quote]
可能是这样的:
在你的小过程里面发生了错误,当然会产生错误@@error=50000,但是你的程序里面有错误处理程序,使用catch把程序错误处理了,错误处理成功后,对与大存储过程来说是一个成功的执行过程,因为错误已经处理了,所以@@error=0
tianhuo_soft
2008-07-15
打赏
举报
回复
[Quote=引用 13 楼 pgy8288 的回复:]
路过
[/Quote]
ChinaJiaBing
2008-07-15
打赏
举报
回复
你设置的提示信息。。。。。。。。。。。。。。
ojuju10
2008-07-14
打赏
举报
回复
@@error=0 表示成功,否则就不等于0
中国风
2008-07-14
打赏
举报
回复
@@error--訊息的識別碼
參照:
select * from master..sysmessages
hery2002
2008-07-14
打赏
举报
回复
你把整个代码贴出来看看啦,
如果代码过长,
帖关键的 :)
beyondjay
2008-07-14
打赏
举报
回复
一个大存储过程,里面调用了小的过程
小过程catch块里面
RAISERROR( @error_message, @error_severity, 1) with seterror
我用vs调试的时候,@@error = 50000--小的存储过程里面的@error在raiserror之后是不等于0的
正常。
但是跳到大的程序里面@@error = 0,奇怪阿,我raiseerror了怎么还是0呢?
--但是跑到外面的时候@@error就变成0了阿
hery2002
2008-07-14
打赏
举报
回复
没懂意思~
pgy8288
2008-07-14
打赏
举报
回复
路过
hanjs
2008-07-14
打赏
举报
回复
路过,帮顶!
zoffor
2008-07-14
打赏
举报
回复
是不是error级别太低啊。
ps:乱说的
nzperfect
2008-07-14
打赏
举报
回复
看不懂
ojuju10
2008-07-14
打赏
举报
回复
@@error 作为系统的一个全局变量,不能够赋值的
rainlovesea
2008-07-14
打赏
举报
回复
我用vs调试的时候,@@error = 50000
这是什么意思,结果还是赋值
正宗老冉
2008-07-14
打赏
举报
回复
[Quote=引用 6 楼 utpcb 的回复:]
你打程序执行的是成功的酒是0
[/Quote]
utpcb
2008-07-14
打赏
举报
回复
你打程序执行的是成功的酒是0
error
LNK2005: “class Eigen::Matrix<int,-1,-1,0,-1,-1> F“ (?F@@3V?$Matrix@H$0?0$0?0$0A@$0?0$0?0@Eige
error
LNK2005: "class Lite_Sparse_Matrix * m_sparse_matrix" (?m_sparse_matrix@@3PEAVLite_Sparse_Matrix@@EA) 已经在 gauss.cpp.obj 中定义
error
LNK2005: "class Eigen::Matrix V" (?V@@3V?$Matrix@N$0?0$0?0$0A@$0?0$0?0@Eigen@@A) 已经在 main.cpp.obj
@@
error
@@
error
是系统函数,当没有发生错误时返回0,如果发生错误时@@
error
<>0,并返回错误号,每个SQL语句执行完,@@
error
值都会变。 @@
error
只记录当前错误,如果存储过程执行多个操作,就要每次都判读@@
error
是否出现错误 @@
error
动态的标识最后一条SQL命令执行的结果,如果成功则为0,不成功则标识错误码 转载于:https://www.cnblogs....
关于@@ROWCOUNT和@@
ERROR
的概述
@@ROWCOUNT SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型。 如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG。 @@ROWCOUNT和@@
ERROR
变量的值,在执行完一条语句后
总是
会发生变化,所以我们将他们作为判断的依据的时候应该首先保存在局部变量中。他们反映的都是紧接着的上一条语句对他们的影响! 我们通常可以通过update、insert语句并使用@@ROWCOUNT来检测是否更改了任何一些行。 下面介绍一个使用@@ROWCOUNT的
error
LNK2019: 无法解析的外部符号 __imp__SetupDiDestroyDeviceInfoList@4,该符号在函数 __catch$?EnumPortsWdm@@YAXAAV?
error
LNK2019: 无法解析的外部符号 __imp__SetupDiDestroyDeviceInfoList@4,该符号在函数 __catch?EnumPortsWdm@@YAXAAV??EnumPortsWdm@@YAXAAV??EnumPortsWdm@@YAXAAV?CArray@USSerInfo@@AAU1@@@@Z$0 中被引用
SQLServer 使用 @@
ERROR
使用 @@
ERROR
如果最后的 Transact-SQL 语句执行成功,则 @@
ERROR
系统函数返回 0;如果此语句产生错误,则 @@
ERROR
返回错误号。每一个 Transact-SQL 语句完成时,@@
ERROR
的值都会改变。 因为每个 Transact-SQL 语句执行完毕时,@@
ERROR
都会得到一个新的值,@@
ERROR
可用以下两种方法处理: 在 Transact...
MS-SQL Server
34,871
社区成员
254,637
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章