首页 > 数据库技术 > 详细

SQL 语句在存储过程执行和在SSMS中执行的差异

时间:2016-11-11 20:00:00      阅读:213      评论:0      收藏:0      [点我收藏+]

SQL 语句在存储过程执行和在SSMS中执行的差异

 

SSMS是SQlSerever management studio。本文所述情形在SQLServer2008中测试。

有时发现同样几条语句,在SSMS中执行OK,但通过存储过程来执行就报错。问题基本都涉及临时表的处理。实践发现以下差异,编程开发人员务必加以注意,可少走弯路。

 

1,执行存储过程后,其中的临时表均不再存在,不能访问。而SSMS执行,只要不关闭当前进程(当前窗口),中间临时表能继续访问。

2,存储过程中通过exec执行语句,动态产生的临时表,一旦exec结束,即使存储过程还在执行中,后续的语句也不能再访问以前通过exec执行语句动态产生的临时表。如果要继续访问,有两个办法,一是在同一个exec过程调用中,二是先create临时表,在exec中插入语句,那么exec结束后,临时表依然存在可以访问。

 

总的来说,SSMS执行环境较为宽松,一般均能正常执行;而存储过程则常会产生错误。因此,语句不能只在SSMS中调试,必须经过存储过程调用测试检验才能下定论。

 

SQL 语句在存储过程执行和在SSMS中执行的差异

原文:http://www.cnblogs.com/jackkwok/p/6055122.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!