sql >> Database >  >> RDS >> Sqlserver

Wanneer moet ik Begin / End Blocks en het Go-trefwoord gebruiken in SQL Server?

GO is als het einde van een script.

U kunt meerdere CREATE TABLE-instructies hebben, gescheiden door GO. Het is een manier om het ene deel van het script van het andere te isoleren, maar het allemaal in één blok in te dienen.


BEGIN en END zijn net als { en } in C/++/#, Java, enz.

Ze bonden een logisch codeblok vast. Ik heb de neiging om BEGIN en END te gebruiken aan het begin en einde van een opgeslagen procedure, maar het is daar niet strikt noodzakelijk. Waar het IS nodig is, zijn voor lussen, en IF-statements, enz., waar je meer dan één stap nodig hebt...

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


  1. GETUTCDATE() Voorbeelden in SQL Server (T-SQL)

  2. Zal UUID als primaire sleutel in PostgreSQL slechte indexprestaties geven?

  3. MySQL Bestel op een nummer, Nulls duren

  4. ondersteunt rails postgres adapter ssl?