首页 > 语言 > 关键词  > SQL最新资讯  > 正文

在SQL Server2005中进行错误捕捉

2008-11-17 17:36 · 稿源:ddvip.com

任何程序都可能出现错误,在SQL Server中执行Transact-SQL也不例外。如果在Transact-SQL中发生了错误,一般有两种捕捉错误的方法,一种是在客户端代码(如C#、Delphi等)中使用类似try...catch的语句进行捕捉;另外一种就是在Transact-SQL中利用Transact-SQL本身提供的错误捕捉机制进行捕捉。如果是因为Transact-SQL语句的执行而产生的错误,如键值冲突,使用第一种和第二种方法都可以捕捉,但是如果是逻辑错误,使用客户端代码进行捕捉就不太方便。因此,本文就如何使用Transact-SQL进行错误捕捉进行了讨论。

一、非致命错误(non-fatal error)的捕捉

通过执行Transact-SQL而产生的错误可分为两种:致命错误(fatal error)和非致命错误(non-fatal error)。在Transact-SQL中只可以捕捉非致命错误(如键值冲突),而无法捕捉致命错误(如语法错误)。在Transact-SQL中可以通过系统变量@@ERROR判断最近执行的一条语句是否成功执行。如果发生了错误,@@Error的值大于0,否则值为0。下面举一个例子说明@@ERROR的使用。

假设有一个表table1,在这个表中有两个字段f1,f2。其中f1是主键。

以下为引用的内容:

insert INTO table1 VALUES(1, ’aa’)

insert INTO table1 VALUES(1, ’bb’) --这条语句将产生一个错误

IF @@ERROR > 0

PRINT ’键值冲突’

当执行第二条语句时发生键值冲突错误,@@ERROR被赋为错误号2627,因此输出结果显示’键值冲突’。使用@@ERROR系统变量时需要注意,@@ERROR只记录最近一次执行的Transact-SQL语句所发生的错误,如果最近一次执行的Transact-SQL没有发生错误,@@ERROR的值为0。因此,只能在被捕捉的那条Transact-SQL语句后使用@@ERROR。

举报

  • 相关推荐
  • 景区300元一天招大学生兼职“野人” 有2000多人报名

    近日,河北秦皇岛一景区因招募大学生兼职扮演“野人”而引发关注。这一临时项目是针对暑期旅游旺季而设,每位参与的大学生将获得每天300元的报酬,并且包吃住,工作时间为早上9时30分至晚上8时30分,期间还有三次休息时间。 该招募计划自发布后,反响热烈,共有2000多人报名,最终经过线上线下筛选,确定了10名人选。这些大学生“野人”在景区内进行包括学“野人”

  • 快手启动2026秋招:发力AI、超200个职位类型,部分年薪可超200万元

    快手于2025年7月30日启动2026届秋季校园招聘,面向全球2026届毕业生开放200多个职位,覆盖算法、工程、产品等11大类岗位,工作地点包括北京、上海等全国多个城市。本次招聘重点发力AI方向,开放多模态、推荐系统等底层技术研发岗位,并增设AI产品经理、AIGC设计师等创新岗位。针对技术人才推出"快Star-X"特别计划,提供不设上限的年薪和核心资源,已有候选人获得超200万年薪offer。非技术类岗位同样开放,强调不设专业门槛。快手表示期待年轻人加入,共同探索AI时代新可能。

  • 佛山5200条“灭蚊鱼”上岗:以蚊卵及蚊幼虫为食

    为有效降低蚊虫密度,从源头阻断蚊媒疾病传播,佛山市禅城区园林部门近期在亚洲艺术公园和中山公园开展生物防治行动投放以蚊虫为食的食蚊鱼”。 据了解,园林工人首先在亚洲艺术公园小湖投放了200条食蚊鱼苗。随后于7月24日,在亚艺公园再度投放4000条,并在中山公园同步投放1000条。这些鱼苗将以蚊卵及蚊幼虫为食,通过自然方式抑制蚊虫繁殖。 此次投放的主角食�

  • 大爷不慎刮花劳斯莱斯 车主:只让他给了200块

    近日,内蒙古一位卖菜大爷骑三轮不慎撞到一辆价值600万的劳斯莱斯,刮花车身多处。 只见劳斯莱斯那原本光滑如镜的车身,被三轮车刮出了一道长长的痕迹,在阳光下显得格外刺眼。 而大爷的三轮车也因为巨大的冲击力,差点侧翻,车上的蔬菜散落一地。 围观的人群渐渐围拢过来,大家都在小声议论着这起意外:这车子好几百万呢。

  • 90后银行职员夫妻下班送外卖解压:3个月赚2000元

    ​近日,武汉一对"90后"银行职员夫妻因下班后兼职送外卖引发关注。当事人张先生(化姓)与妻子李女士(化姓)在社交平台分享的送单日常,意外揭开了都市白领的"斜杠"生活图景。 这对金融从业者透露,面对生活成本压力,两人曾尝试多种兼职形式,最终选择时间灵活的外卖配送作为副业。"银行工作看似光鲜,但业绩考核和客户服务压力不小。"张先�

  • 一图读懂iQOO Z10 Turbo+:天玑9400+手机不到2000元 同档唯一

    今晚iQOO Z10 Turbo +正式发布,起售价是2199元,国补后的到手价是1869.15元起,这是同价位唯一一款天玑9400 机型,在同档位极具竞争力。 这次iQOO Z10 Turbo +同时搭载了天玑9400 和自研电竞芯片Q2,带来行业最强能效体验,行业唯一支持真1.5K超分 144FPS超帧并发,做到了原生级画质、零感时延、超低功耗,彻底解决行业痛点,打造最强游戏体验。 并且iQOO Z10 Turbo +还配备旗舰级的LPDDR5

  • 14岁女孩摆摊卖玩具25天赚2000元:竞争者增多 生意不如从前

    ​近日,安徽宣城市郎溪县一名 14 岁的初中女生小范在暑假期间通过摆摊卖沙滩玩具, 25 天内赚取了 2000 元利润的消息引发了广泛关注。据小范的父亲范先生介绍,女儿在公园游玩时,发现沙滩区域许多孩子因未携带玩具而无法参与玩耍,这让她看到了商机。 得到家人的支持后,小范开始摆摊售卖沙滩玩具。起初,家人以为她只是一时兴趣,摆摊两天就不会继续,但没想到�

  • 跨越2000公里点亮乡村学生科技梦想,快手“启智未来学堂”科技AI夏令营启动

    快手公益基金会举办"启智未来学堂"科技AI夏令营,带领青海果洛州24名牧区学生赴京研学。活动通过AI绘画、VR航天体验、智能物流园参观等前沿科技实践,帮助欠发达地区青少年开拓视野。快手还捐建数字教室,累计支持500余所学校,惠及70万儿童。此次研学让孩子们亲身体验科技魅力,激发学习兴趣,为未来发展埋下梦想种子。

  • 05后女生上岸985跑9.85公里庆祝 此前备考也跑步释放压力

    ​近期,随着高考录取通知书陆续发放,社交媒体上涌现出一股晒通知书的风潮。在这股热潮中,一位来自北京的05后高颜值女生以其独特的庆祝方式脱颖而出,吸引了众多网友的目光。在收到心仪的985院校录取通知书后,她并未选择传统的聚餐或旅游来庆贺,而是以一场9.85公里的夜跑来铭记这一重要时刻。 据这位女生透露,在紧张的高考备考阶段,跑步成为了她缓解压力的

  • 曝REDMI首发联发科天玑8500:跑分突破200万 挑战骁龙8系

    博主数码闲聊站爆料,天玑8500基于台积电4nm制程打造,采用Arm全大核架构,集成Mali-G720 GPU,安兔兔跑分设定在200万分以上,这颗芯片大概率由REDMI Turbo 5首发搭载。 在去年12月,REDMI Turbo 4首发搭载了天玑8400系列芯片,它采用了旗舰同款全大核架构,CPU主频最高为3.25GHz,安兔兔跑分在180万分左右。 这次天玑8500芯片的性能再创新高,是联发科旗下最强8系芯片,其安兔兔跑分突