sql >> Database teknologi >  >> RDS >> Sqlserver

Om GO-kommandoen i SQL Server

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

  1. Søg i Microsoft SQL Server-databasen efter lagrede data

  2. Oracle DateTime i Where-klausulen?

  3. Hvordan kan jeg ændre min standarddatabase i SQL Server uden at bruge MS SQL Server Management Studio?

  4. Fejl relateret til only_full_group_by ved udførelse af en forespørgsel i MySql