当前位置:首页 > PHP教程 > PHP总结归纳

SQLServer中批处理的知识点

批处理是一个逻辑单元的一组t-sql语句。 为了将一个脚本分为多个批处理,可以使用go语句。 1. go语句必须自成一行。 2. go语句使得每个批处理是单独发送到服务器的,与其他的批处理器无关。(这里面的执行方案很可能是并发的,所以在很多的情况下,可能需要考

  批处理是一个逻辑单元的一组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不能再用户自定义函数内使用。

.syntaxhighlighter{padding-top:20px;padding-bottom:20px;}
【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!