这是你认识的 SET NOCOUNT 功能吗?

zjcxc 2008-01-03 12:53:26
在 SQL Server 2005 中, 遇到一个奇怪的问题, SET NOCOUNT 居然影响错误控制
如下面的代码:

-- 添加链接服务器
EXEC sp_addlinkedserver 'srv_lnk','','SQLOLEDB','.'
EXEC sp_serveroption 'srv_lnk','rpc out','true'
GO

-- 测试语句
--SET NOCOUNT ON
BEGIN TRY
DECLARE
@error_number int,
@error_message nvarchar(2048)

EXEC(N'
SET NOCOUNT ON

USE tempdb

BEGIN TRY
DELETE FROM [NEWID()]
END TRY
BEGIN CATCH
SELECT
? = ERROR_NUMBER(),
? = ERROR_MESSAGE()
END CATCH
',
@error_number OUTPUT,
@error_message OUTPUT
)AT srv_lnk
END TRY
BEGIN CATCH
SELECT
2,
ERROR_NUMBER(),
ERROR_MESSAGE()
END CATCH
GO

-- 删除链接服务器
EXEC sp_dropserver 'srv_lnk', 'droplogins'
...全文
639 57 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
57 条回复
切换为时间正序
请发表友善的回复…
发表回复
mousefog 2008-05-12
  • 打赏
  • 举报
回复
我碰到这样的问题了
guyehanxinlei 2008-04-11
  • 打赏
  • 举报
回复
学习一下
liubo1977 2008-02-08
  • 打赏
  • 举报
回复
在sql server 2005中试了,会报异常:
USE TEMPDB
SET NOCOUNT ON --无论是ON,OFF或者不设,都是直接报错,没有执行CATCH内容
BEGIN TRY
select 1/0
END TRY
BEGIN CATCH
SELECT
'?' = ERROR_NUMBER(),
'?' = ERROR_MESSAGE()
END CATCH
ydlchina 2008-01-18
  • 打赏
  • 举报
回复
全是高手,只剩学习的分份
netcup 2008-01-18
  • 打赏
  • 举报
回复
另外,用不用在SET NOCOUNT ON 和 USE TEMP之间加一个GO?
netcup 2008-01-18
  • 打赏
  • 举报
回复
老大,我和PAUL NIELSON一直在通邮件,用不用我问问他?
就是写<SQLSERVER2000宝典>英文名<SQLSERVER2000 BIBLE>的作者.他也写了<SQLSERVER2005 BIBLE>,可惜国内没翻译,他现在正在写<SQLSERVER2008 BIBLE>,最近给我很多<SQL2008 BIBLE>的章节,让我预读,并给他写意见或者评论呢.
xiaoku 2008-01-18
  • 打赏
  • 举报
回复
继续关注.
shirley_yue 2008-01-18
  • 打赏
  • 举报
回复
学习
shirley_yue 2008-01-18
  • 打赏
  • 举报
回复
关注
OracleRoob 2008-01-18
  • 打赏
  • 举报
回复
学习
dobear_0922 2008-01-18
  • 打赏
  • 举报
回复
看看
青锋-SS 2008-01-18
  • 打赏
  • 举报
回复
老大的技术帖子,首次见.
kuangtu007 2008-01-18
  • 打赏
  • 举报
回复
study
shirley_yue 2008-01-18
  • 打赏
  • 举报
回复
全是高手,只剩学习的份
l_wenb 2008-01-17
  • 打赏
  • 举报
回复
楼主可真厉害!超多人回复!结论呢????????

学习中!

顶!!!!!!!!!!!!!!!11111
-狙击手- 2008-01-04
  • 打赏
  • 举报
回复
再学习
i_love_pc 2008-01-04
  • 打赏
  • 举报
回复
:)
prcgolf 2008-01-04
  • 打赏
  • 举报
回复
up
arrow_gx 2008-01-04
  • 打赏
  • 举报
回复
set nocount

以前在老版本的sql6.5 7.0 的时候,经常回影响触发器,存储过程的,我曾经碰到过,仔细研究很久才发现了这个问题,但没有解决,2000后就没有了,一直不知道什么原因
gingerkang 2008-01-04
  • 打赏
  • 举报
回复
学习
加载更多回复(37)

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧