我想确保以串行方式执行一系列命令,例如
update TABLE1...
update TABLE2...
update TABLE3...
我希望update TABLE2
仅在update TABLE1
完成后启动。
当然我可以用GO来做到这一点:
update TABLE1...
GO
update TABLE2...
GO
update TABLE3...
GO
但在这种情况下,我将丢失所有局部变量。
有没有简单的方法来执行我需要的东西?感谢。
答案 0 :(得分:3)
你不需要去做那件事; GO只会导致批次在此时发送到服务器。只要您将命令按顺序放在一个脚本中,它们就会按照您的意愿逐个执行。您必须做额外的工作才能让它们并行运行
答案 1 :(得分:2)
批处理中的下一个命令将仅在上一个命令完成后才开始。无需做任何事情,这就是它的工作原理。你正在解决的问题是什么?
编辑:您的“无法重新创建索引,它已存在”错误在编译时发生,而不是在运行期间 - 编译批处理时索引存在。 GO将您的脚本分成不同的批次,这些批次只在上一批次完成后才编译。