码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-11-11 20:01:03      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:ever   检验   eve   实践   编程开发   编程   过程   执行存储过程   测试   

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

 

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

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

 

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

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

 

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

 

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

标签:ever   检验   eve   实践   编程开发   编程   过程   执行存储过程   测试   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!