在Transact-SQL中,批处理是一组作为一个组一起提交并作为一个组执行的SQL语句。批可以存储在命令文件中。什么是批次?
包含几个SQL语句的* .sql文件被认为是批处理?我们还有什么考虑一批?
在Transact-SQL中,批处理是一组作为一个组一起提交并作为一个组执行的SQL语句。批可以存储在命令文件中。什么是批次?
包含几个SQL语句的* .sql文件被认为是批处理?我们还有什么考虑一批?
是一个* .sql文件,其中包含几个被视为批处理的sql语句?
的排序。一个* .sql文件实际上可以包含多个批次。您可以通过批分隔符分隔批次。您可能需要多个批处理文件,因为某些语句(特别是某些“ALTER”命令)每批只能执行一次。这可能会使得像在循环中执行ALTER一样棘手。
这里的另一个诀窍是如何分离文件/文档中的各个批次。在99%的Sql Server工具中,批量分隔符是“GO
”。然而,这是可以通过工具配置的东西,因此你会偶尔遇到奇怪的人,然后谁使用别的东西。
批处理不属于TSQL,它们是SQL Management Studio编辑器的一个功能。因此,例如,您不能提交带有“GO”的ADO.NET命令对象作为命令文本的一部分。
批处理标记 - “GO”指示查询编辑器在执行过程中继续执行之前将SQL提交到该点。
可以将查询编辑器配置为在“GO”旁边使用不同的批处理标记,但这只会让人感到困惑。
他们是TSQL的一部分。您也可以在ADO.NET中使用多个命令发送批处理。 – erikkallen 2009-11-10 19:10:02
我相信你错了。这是GO命令上的MSDN TSQL参考页面:http://msdn.microsoft.com/en-us/library/ms188037.aspx – 2009-11-10 20:37:05
关于第二个想法,我明白你的意思。原始问题中的批处理定义是正确的,批处理会影响TSQL语句的执行。 – 2009-11-10 20:45:04
从联机丛书
创建默认值,CREATE FUNCTION,CREATE PROCEDURE,创建规则,创建架构CREATE TRIGGER和CREATE VIEW语句不能在一个批处理中的其它语句组合。 CREATE语句必须启动批处理。该批处理中的所有其他语句都将被解释为第一个CREATE语句定义的一部分。
无法更改表格,然后在同一批次中引用新列。
由此可以推断,在尝试使用它们之前,需要多个批次以确保数据库结构更改生效。
这个问题只与tsql有关?闻起来有点像功课... – 2009-11-09 21:16:23
看到标签。 TSQL。 – 2009-11-09 21:18:53
这不是作业 – carewithl 2009-11-10 18:37:10