如何获得存储过程最终执行的sql语句? 假如我现在有一个很复杂的存储过程,输入参数后我想得到最终执行的sql语句怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sp_helptext '存储过程名' ? 例如存储过程里有 exec(@ssql)来执行拼接好的SQL语句吧,在前面加一句 print @ssql即可把即将执行SQL打印出来. 打印出SQL只是辅助进行程序排错之类的工作,正常来讲也是不需要这么做的,关键还是程序的逻辑的严密和写法的规范. 使用print @sql,或者把@sql写入一个SQL日志表中! 但问题是那个存储过程是别人写的而且存储过程里面最后不是执行这样的exec(@ssql),而是作了乱七八糟一大堆判断之后执行一些exec(………………)这样的语句,怎么办? exec(.....)括号里面再复杂,只要能执行就是能打印出来的.你也跟着 print [.....] 全拷贝出来就行. 百度了一下,sp_helptext这个貌似只能查看存储过程吧?我想知道的是输入了不同的参数,它执行什么语句。期待高手出现! 这个涉及程序的逻辑了,看你要查哪一段程序.打印出SQL只是辅助功能而已,不可过分依赖. 使用 profile 进行程序跟踪,选择 跟踪 存储过程语句执行完成事件。 非存储过程可以跟踪到,但是存储过程跟踪到的是,传递参数并执行存储过程。不是sql语句!可以修改什么设置跟踪到最后执行的sql语句不? sp_helptext '存储过程名' 请教一下! 一个排行的问题 create一个函数返回一个update的值该怎么写 求一SQL取整百、整千、整万函数 请问个位大哥,如何在多表的试图中查值. 如何比较两个表是否含有相同的列值? 100分请教一个在存储过程中调用另一个存储过程的难题! 奇怪的问题 存储过程的调试问题 PB + SQL SERVER 非常严重的 BUG !!!!!!!! 关于存储过程和动态表 SQL Server Management Studio的服务器类型列表中为何少东西了???
?
在前面加一句 print @ssql即可把即将执行SQL打印出来.
正常来讲也是不需要这么做的,关键还是程序的逻辑的严密和写法的规范.
或者把@sql写入一个SQL日志表中!
你也跟着 print [.....] 全拷贝出来就行.
百度了一下,sp_helptext这个貌似只能查看存储过程吧?我想知道的是输入了不同的参数,它执行什么语句。期待高手出现!
打印出SQL只是辅助功能而已,不可过分依赖.
非存储过程可以跟踪到,但是存储过程跟踪到的是,传递参数并执行存储过程。不是sql语句!可以修改什么设置跟踪到最后执行的sql语句不?