sql >> Databáze >  >> RDS >> Sqlserver

O příkazu GO na serveru SQL Server

Pokud jste používali T-SQL, pravděpodobně budete obeznámeni s GO příkaz. Tento příkaz je často umístěn na konci dávky příkazů.

Například:

CREATE DATABASE Books;
GO

Nicméně GO příkaz není ve skutečnosti součástí T-SQL. Nemůže ani zabírat stejný řádek jako příkaz T-SQL.

GO je jedním z příkazů, které rozpozná sqlcmd a osql nástroje a také SQL Server Management Studio Code Editor pro usnadnění čitelnosti a provádění dávek a skriptů. GO příkaz signalizuje konec dávky příkazů T-SQL obslužným programům serveru SQL.

Nástroje SQL Server interpretují GO jako signál, že by měli odeslat aktuální dávku příkazů T-SQL do instance SQL Server. Aktuální dávka výpisů se skládá ze všech výpisů zadaných od posledního GO , nebo od začátku ad hoc relace nebo skriptu, pokud se jedná o první GO .

GO příkaz může být užitečný při psaní větších skriptů. Při psaní větších skriptů se někdy může objevit chyba, protože některé části skriptu vyžadují, aby byly jako první provedeny dřívější části. Můžete umístit GO na strategických místech ve skriptu tak, aby takové části byly provedeny jako první.

Zde je příklad skriptu, který vytvoří rozdělenou tabulku. Má GO příkaz umístěný na různých místech ve skriptu, aby bylo zajištěno, že každá sekce bude provedena před další sekcí.

ALTER DATABASE Test
ADD FILEGROUP MoviesFg1;
GO  
ALTER DATABASE Test  
ADD FILEGROUP MoviesFg2;  
GO  
ALTER DATABASE Test  
ADD FILEGROUP MoviesFg3;  
GO  
ALTER DATABASE Test  
ADD FILEGROUP MoviesFg4;   

ALTER DATABASE Test   
ADD FILE   
(  
    NAME = MoviesFg1dat,  
    FILENAME = '/var/opt/mssql/data/MoviesFg1dat.ndf',  
    SIZE = 5MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5MB  
)  
TO FILEGROUP MoviesFg1;  
ALTER DATABASE Test   
ADD FILE   
(  
    NAME = MoviesFg2dat,  
    FILENAME = '/var/opt/mssql/data/MoviesFg2dat.ndf',  
    SIZE = 5MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5MB  
)  
TO FILEGROUP MoviesFg2;  
GO  
ALTER DATABASE Test   
ADD FILE   
(  
    NAME = MoviesFg3dat,  
    FILENAME = '/var/opt/mssql/data/MoviesFg3dat.ndf',  
    SIZE = 5MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5MB  
)  
TO FILEGROUP MoviesFg3;  
GO  
ALTER DATABASE Test   
ADD FILE   
(  
    NAME = MoviesFg4dat,  
    FILENAME = '/var/opt/mssql/data/MoviesFg4dat.ndf',  
    SIZE = 5MB,  
    MAXSIZE = 100MB,  
    FILEGROWTH = 5MB  
)  
TO FILEGROUP MoviesFg4;  
GO

  1. Role neexistuje a nelze vytvořit databázi při použití PostgreSQL

  2. Oracle SQL – Identifikujte sekvenční rozsahy hodnot

  3. Jak spustit soubor .sql pomocí powershell?

  4. Jaký je problém roku 2038?