设为首页 收藏本站
查看: 816|回复: 0

[经验分享] SQL Server中批处理的知识点

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-9 08:58:45 | 显示全部楼层 |阅读模式
批处理是一个逻辑单元的一组T-sql语句。
为了将一个脚本分为多个批处理,可以使用GO语句。
1.      GO语句必须自成一行。
2.      GO语句使得每个批处理是单独发送到服务器的,与其他的批处理器无关。(这里面的执行方案很可能是并发的,所以在很多的情况下,可能需要考虑顺序问题)
3.      GO语句不是T-sql命令,而是由各种SQLServer命令适用成型的识别命令。
批处理中的错误:
1.      语法错误,在执行之前就会被检测。
2.      运行时错误,只能在运行之后(或者之中)被检测到,一般是违反了完整性等错误。
要求有自己批处理的语句:
1.      Create Default
2.      Create Procedure
3.      Create Rule
4.      Create Trigger
5.      Create View
注:如果想在单独的脚本中将这些语句组合,则需要通过使用GO语句来将它们分散到各自的批处理中。
EXEC的陷阱:
1.      Exec和调用它的代码都在单独的作用域下运行——也就是说,调用代码不能引用EXEC语句中的变量,并且在调用代码中的变量被解析为用于EXEC语句的字符串之后,EXEC不能引用这些变量。如果需要在动态SQL和调用它的例程间传递值,考虑使用SQL-executeSQL。
2.      默认情况下,EXEC在当前用户的安全上下文下运行——而不是调用对象的安全上下文。(对象经常在对象所有者的上下文运行,而不是当前用户)
3.      EXEC与调用对象运行在相同的连接和事务环境下。
4.      对EXEC字符串执行的要求函数调用的串联必须先于实际调用的EXEC的语句——不能在执行EXEC调用的相同语句中执行函数串联。
5.      EXEC不能再用户自定义函数内使用。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-16941-1-1.html 上篇帖子: 不能将值 NULL 插入列 'id',表 'weibo.dbo.myfriend';列不允许有... 下篇帖子: SQL SERVER 统计 SQL 语句 执行的时间 知识点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表