欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Sql随手笔记 » 正文

热门阅读

Sql语句,触发器,存储过程调试

创建时间:2011年08月29日 09:47  阅读次数:(6347)
分享到:
因为Microsoft SQL Server Management Studio没有调试环境,所以我们要调试SQL语句变的很困难。在不确定自己写的Sql是正确的前提下,又不敢直接执行看结果,所以可能只有新建一个测试数据库了。但经常一个小问题也建一个测试数据库,就太麻烦了。

还有就是调试触发器,哦,不对,触发器根本就没得调试,只有执行Sql语句后看结果才知道有没有错误,如果执行后才从结果中发现自己Sql语句写错了,那就太悲剧了。

下面小编就介绍一个小编本人常用的调试方法,那就是利用事务(transaction)来调试.

下面引用和朋友的一段对话:
问:
A表:ID(自动增长),Num
B表:ID(自动增长),Num
怎么把B表中Num列的值赋给ID相同的A表

答:
update t1 set t1.num=t2.num from a t1,b t2 where t1.id=t2.id

问:
我感觉这条语句好像有问题

答:
如果你觉的Sql语句不对,可以利用transaction来测试看结果
begin transaction
update t1 set t1.num=t2.num from a t1,b t2 where t1.id=t2.id
select * from a
select * from b
rollback transaction

这样就不会实现更改你的结果集了,又能看到结果.

嗯,是的,就是利用transaction回滚的功能,在一个transaction中,即可看到transaction中执行的结果集,又可利用rollback回滚数据,就不会真正更改数据库中的数据了。

该方法虽然简单,但是却很实用,大家在不确定Sql语句的正确性的情况下,就试试这个方法吧。N
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 16+81=? 的结果(结果是:97)
结  果: