SqlServer假执行SQL语句

         Sql Server可以让你"noexec"的去执行SQL语句。语法如下:

SET NOEXEC { ON | OFF }

         SQL语句的执行有2个阶段,编译和执行,而设置'noexec'为on之后,实际上只是对SQL语句进行了编译,并没有执行,MSDN上也注明此方法一般只用于SQL语法和对象名的检测。由于没有真正的执行,如果尝试使用ADO或@@ROWCOUNT去获取一个DDL或DQL语句所影响的行数,结果是-1。

         SET NOEXEC的设置是在运行时,而不是编译时,也就是说是可以在运行阶段动态改变的,某一段脚本你可以"真执行",某一段又“假执行”。另外,SET NOEXEC的设置并不是全局的,也就是说下一次查询你需要重新设置状态。当然默认是off的,你一般不需要设置。

         此外,Sql Server还提供了另一个类似的方法:

 SET PARSEONLY { ON | OFF }

        SET PARSEONLY 表示解析但不编译和执行语句,但MSDN说明,不要将SET PARSEONLY 用于存储过程或触发器。

         另外这是Sql Server2008以后才有的功能。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值