在SQL Server中使用BEGIN/END块和GO关键字吗?

2022-02-20 00:00:00 language-features tsql sql-server

有关何时在SQL Server中使用beginend块的指导原则是什么?

另外,Go关键字的具体作用是什么?


解决方案

Go类似于脚本的结尾。

您可以有多个CREATE TABLE语句,由GO分隔。这是一种将脚本的一部分与另一部分隔离,但在一个挡路中提交所有脚本的方式。


BEGIN和END与C/++/#、Java等中的{AND}类似。

他们绑定了逻辑挡路代码。我倾向于在存储过程的开始和结束处使用BEGIN和END,但在那里没有严格的必要。需要的地方是for循环和if语句等,其中您需要一个以上的步骤.

IF EXISTS (SELECT * FROM my_table WHERE id = @id)
BEGIN
   INSERT INTO Log SELECT @id, 'deleted'
   DELETE my_table WHERE id = @id
END

相关文章