Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tentang Perintah GO di SQL Server

Jika Anda pernah menggunakan T-SQL, Anda mungkin akrab dengan GO memerintah. Perintah ini sering ditempatkan di akhir sekumpulan pernyataan.

Misalnya:

CREATE DATABASE Books;
GO

Namun, GO perintah sebenarnya bukan bagian dari T-SQL. Itu bahkan tidak dapat menempati baris yang sama dengan pernyataan T-SQL.

GO adalah salah satu perintah yang dikenali oleh sqlcmd dan osql utilitas, serta Editor Kode SQL Server Management Studio untuk memfasilitasi keterbacaan dan eksekusi kumpulan dan skrip. GO perintah menandakan akhir dari sekumpulan pernyataan T-SQL ke utilitas SQL Server.

Utilitas SQL Server menafsirkan GO sebagai sinyal bahwa mereka harus mengirim kumpulan pernyataan T-SQL saat ini ke instance SQL Server. Kumpulan pernyataan saat ini terdiri dari semua pernyataan yang dimasukkan sejak GO terakhir , atau sejak awal sesi atau skrip ad hoc jika ini adalah GO pertama .

GO perintah dapat berguna saat menulis skrip yang lebih besar. Saat menulis skrip yang lebih besar, Anda terkadang mendapatkan kesalahan, karena bagian tertentu dari skrip mengharuskan bagian sebelumnya dieksekusi terlebih dahulu. Anda dapat menempatkan GO di tempat-tempat strategis di dalam skrip sehingga bagian-bagian tersebut dieksekusi terlebih dahulu.

Berikut adalah contoh skrip yang membuat tabel yang dipartisi. Ini memiliki GO perintah ditempatkan di berbagai tempat dalam skrip untuk memastikan bahwa setiap bagian dieksekusi sebelum bagian berikutnya.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Kolom ke Baris

  2. MSDTC di server 'server tidak tersedia'

  3. Konversi 'waktu' menjadi 'datetimeoffset' di SQL Server (Contoh T-SQL)

  4. Apakah mungkin untuk klausa Output SQL untuk mengembalikan kolom yang tidak dimasukkan?

  5. T-SQL:Memilih Kolom Berdasarkan MAX (Kolom Lainnya)