批处理就是一个或多个T⁃SQL语句的集合,从应用程序一次性发送到SQL Server并由SQL Server编译成一个可执行的单元,此单元称为执行计划。执行计划中的语句每次执行一条。
建立批处理时,使用GO语句作为批处理的结束标记。在一个GO语句行中不能包括其他T⁃SQL语句,但可以使用注释文字。当编译器读取到GO语句时,会把GO语句前面所有的语句当做一个批处理,并将这些语句打包发送到服务器。GO语句本身并不是T⁃SQL语句的组成部分,它只是一个用于表示批处理结束的指令。如果在一个批处理中包含语法错误,如引用了一个并不存在的对象,则整个批处理就不能被成功地编译和执行;如果一个批处理某句有执行错误,如违反了约束,它仅影响该语句的执行,并不影响批处理中其他语句的执行。
在建立一个批处理时,应该遵循下面的规则。
●CREATE DEFAULT、CREATE PROCEDURE、CREATE RULE、CRETE TRIGGER和CREATE VIEW语句不能在批处理中与其他语句组合使用。批处理必须以CREATE语句开始,所有跟在该批处理后的其他语句将被解释为第一个CREATE语句定义的一部分。
●不能在删除一个对象之后,在同一批处理中再次引用这个对象。
●不能在一个批处理中引用其他批处理中所定义的变量。
●不能把规则和默认值绑定到表字段或用户自定义数据类型之后,立即在同一个批处理中使用它们。
●不能定义一个CHECK约束之后,立即在同一个批处理中使用该约束。
●不能在修改表中的一个字段名之后,立即在同一个批处理中引用新字段名。(www.xing528.com)
●如果EXECUTE语句是批处理中的第一句,则不需要EXECUTE关键字。如果EXE⁃CUTE语句不是批处理中的第一个语句,则需要EXECUTE关键字。
【例6-1】 利用查询分析器执行两个批处理,用来显示学生表中的信息。
代码如下。
运行结果如图6-1所示。
图6-1 在查询分析器中执行批处理
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。