Hvis du har brugt T-SQL, vil du sandsynligvis være bekendt med GO
kommando. Denne kommando er ofte placeret i slutningen af en batch af udsagn.
For eksempel:
CREATE DATABASE Books;
GO
Men GO
kommandoen er faktisk ikke en del af T-SQL. Det kan ikke engang optage den samme linje som en T-SQL-sætning.
GO
er en af de kommandoer, der genkendes af sqlcmd og osql hjælpeprogrammer, samt SQL Server Management Studio Code Editor for at lette læsbarheden og udførelsen af batches og scripts. GO
kommandoen signalerer slutningen af en batch af T-SQL-sætninger til SQL Server-værktøjerne.
SQL Server-værktøjer fortolker GO
som et signal om, at de skal sende den aktuelle batch af T-SQL-sætninger til en forekomst af SQL Server. Den aktuelle batch af udsagn er sammensat af alle udsagn, der er indtastet siden sidste GO
, eller siden starten af ad hoc-sessionen eller scriptet, hvis dette er den første GO
.
GO
kommando kan være praktisk, når du skriver større scripts. Når du skriver større scripts, kan du nogle gange få en fejl, på grund af at visse dele af scriptet kræver, at tidligere dele er blevet udført først. Du kan placere GO
på strategiske steder i manuskriptet, så sådanne dele udføres først.
Her er et eksempel på et script, der opretter en opdelt tabel. Den har GO
kommando placeret forskellige steder i scriptet for at sikre, at hver sektion udføres før den næste sektion.
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