标签:ever 检验 eve 实践 编程开发 编程 过程 执行存储过程 测试
SQL 语句在存储过程执行和在SSMS中执行的差异
SSMS是SQlSerever management studio。本文所述情形在SQLServer2008中测试。
有时发现同样几条语句,在SSMS中执行OK,但通过存储过程来执行就报错。问题基本都涉及临时表的处理。实践发现以下差异,编程开发人员务必加以注意,可少走弯路。
1,执行存储过程后,其中的临时表均不再存在,不能访问。而SSMS执行,只要不关闭当前进程(当前窗口),中间临时表能继续访问。
2,存储过程中通过exec执行语句,动态产生的临时表,一旦exec结束,即使存储过程还在执行中,后续的语句也不能再访问以前通过exec执行语句动态产生的临时表。如果要继续访问,有两个办法,一是在同一个exec过程调用中,二是先create临时表,在exec中插入语句,那么exec结束后,临时表依然存在可以访问。
总的来说,SSMS执行环境较为宽松,一般均能正常执行;而存储过程则常会产生错误。因此,语句不能只在SSMS中调试,必须经过存储过程调用测试检验才能下定论。
标签:ever 检验 eve 实践 编程开发 编程 过程 执行存储过程 测试
原文地址:http://www.cnblogs.com/jackkwok/p/6055122.html