Mereka tidak sepenuhnya diperlukan - itu hanya instruksi untuk SQL Server Management Studio untuk mengeksekusi pernyataan hingga saat ini dan kemudian terus berjalan. GO
adalah tidak kata kunci T-SQL atau apa pun - itu hanya instruksi yang berfungsi di SSMS.
Terkadang, Anda membutuhkan GO - mis. jika Anda menambahkan kolom ke tabel, dan kemudian ingin memilihnya lagi, Anda harus memiliki GO antara penambahan kolom, dan kuerinya.
Misalnya. jika Anda mencoba menjalankan ini, Anda akan mendapatkan kesalahan dari SSMS:
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Hasil dalam:
Intinya adalah:SSMS mencoba memverifikasi seluruh pernyataan sekaligus, tetapi pada pernyataan SELECT, ia akan mengeluh tentang DateTimeStamp
yang hilang kolom.
ALTER TABLE (sometable) ADD DateTimeStamp DATETIME
GO
SELECT ID, DateTimeStamp FROM (sometable) WHERE ID > 5
Jika Anda memasukkan GO
antara dua pernyataan, itu akan berfungsi, karena SSMS tidak akan mengurai dan memverifikasi seluruh pernyataan sebelumnya - itu akan melakukan bagian pertama, dan kemudian hanya mengurai yang kedua (setelah GO
).
Tapi selain situasi seperti ini, GO hampir tidak pernah diperlukan.