Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quand dois-je utiliser Begin / End Blocks et le mot clé Go dans SQL Server ?

GO est comme la fin d'un script.

Vous pouvez avoir plusieurs instructions CREATE TABLE, séparées par GO. C'est une façon d'isoler une partie du script d'une autre, mais de tout soumettre en un seul bloc.


BEGIN et END sont comme { et } en C/++/#, Java, etc.

Ils ont lié un bloc logique de code. J'ai tendance à utiliser BEGIN et END au début et à la fin d'une procédure stockée, mais ce n'est pas strictement nécessaire là-bas. Là où c'est nécessaire, c'est pour les boucles, les instructions IF, etc., où vous avez besoin de plus d'une étape...

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