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

SQL Server:Apakah saya perlu menggunakan pernyataan GO antar batch?

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.



  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 INSERT INTO dari beberapa tabel

  2. PI() Contoh di SQL Server

  3. Cara membuat cadangan file SQL Server 2014 Express Localdb (.mdf) secara terprogram

  4. Masukkan secara manual ke dalam tabel dengan pernyataan SQL, tetapi kuncinya bertambah secara otomatis

  5. Kembalikan Nomor Minggu ISO dari Tanggal di SQL Server (T-SQL)