Soru SQL Server Management Studio ve Transact SQL'de GO kullanımı nedir?


SQL Server Management Studio, her zaman "Script As" menüsünü kullanarak sağ tıklamayı kullanarak bir sorgu oluşturduğunda bir GO komutu ekler. Niye ya? GO aslında ne yapar?


277
2018-02-19 20:12


Menşei


Çoğalt - stackoverflow.com/questions/971177/... - ChrisF♦
@ChrisF - bu bir cevap değil, kabul edilen cevap da bu soruyu cevaplıyor. Bu soru bir işlemde "GO" kullanmakla ilgili - sadece bir SQL komutu olmadığını ortaya koyuyor. Bu soru çok daha geneldir ve SSMS'de GO komutuyla ilgili sorulara kesin bir cevap vermeyi denemektedir. - tvanfosson
Ayrıca bu bağlantıya bir göz atın: Toplu iş ifadeleri ne işe yarar? - Zain Rizvi


Cevaplar:


Bir toplu terminatördür, ancak istediğiniz her şeye değiştirebilirsiniz. alt text


256
2018-02-19 20:18



gbn SELECT yapar ve ne olur :-) bak - SQLMenace
@SQLMenace, isminizi nereden aldığınızdır ....;) - Elysian Fields
Çünkü benim adım Denis ;-) - SQLMenace
Teşekkürler! Ancak o zaman GO ifadesinin amacı nedir? Bu aptalca gelebilir ama 'kod partisi' ne anlama geliyor? msdn GO'dan sonra değişkenlerin ömür süresinin dolduğunu söylüyor. İşlem taahhüdü ile ilgisi yok mu? GO ifadesini senaryolarımda tutmam gereken durumlar var mı? - kate1138
Bu, önce tüm T-SQL'in "bir kerede" çalıştırılacağı anlamına gelir. Anladığım kadarıyla bir noktalı virgülle (OLEDB / Oracle) değiştirilebilir. Örneğin, büyük bir dağıtım dağıtım komut dosyanız varsa, satırlar arasında bir GO ifadesi, komut dosyasında kullanılan belleğe yardımcı olabilir. - Anthony Mason


Management Studio 2005'ten beri kullanabileceğiniz gibi görünüyor GO bir ile int parametre gibi:

INSERT INTO mytable DEFAULT VALUES
GO 10

Yukarıdakiler 10 satır ekleyecektir mytable. Genel konuşma, GO ilgili sql komutlarını çalıştıracak n zamanlar.


247
2018-06-22 12:00





GO komutu bir Transact-SQL deyimi değil, SQL Server Management Studio kod düzenleyicisi de dahil olmak üzere çeşitli MS yardımcı programları tarafından tanınan özel bir komuttur.

GO komutu, SQL komutlarını sunucuya birlikte gönderilen gruplar halinde gruplandırmak için kullanılır. Parti içinde yer alan komutlar, yani son GO komutundan ya da oturumun başlamasından bu yana komutların kümesi mantıksal olarak tutarlı olmalıdır. Örneğin, bir değişkeni bir grupta tanımlayamaz ve sonra değişkenin kapsamının tanımlandığı toplu işle sınırlı olduğundan başka bir dizide kullanamazsınız.

Daha fazla bilgi için bakınız http://msdn.microsoft.com/en-us/library/ms188037.aspx.


163
2018-02-19 20:13



Hangi durumda şeylerle şeyler topluyor GO aslında yararlı? - nicodemus13
@ nicodemus13 Gör stackoverflow.com/questions/20711326/... - Zain Rizvi
Yani toplu işten gelen 1 ifadesi başarısız olursa, hepsi başarısız mı? - MonsterMMORPG


GO bir SQL anahtar kelimesi değildir.

Tüm komut dosyasını gruplar halinde kırmak için istemci araçları (SSMS gibi) tarafından kullanılan bir toplu ayırıcıdır.

Birkaç kez önce cevaplandı ... örnek 1


24
2018-02-19 20:16



Benim savunmamda, soruyu göndermeden önce önerilen kopyaları inceledim - ve örneğiniz ortaya çıkmadı, ne de cevap gerçekten geçerli olsa da, gerçekten de bir kopyası. - tvanfosson
Burada "GO" için aramak zordur :-) - gbn


Sadece mevcut cevaplara eklemek için, görünüm oluştururken bu komutları toplu olarak goaksi halde hata alırsınız 'CREATE VIEW' must be the only statement in the batch. Örneğin, aşağıdaki sql komut dosyasını go

create view MyView1 as
select Id,Name from table1
go
create view MyView2 as
select Id,Name from table1
go

select * from MyView1
select * from MyView2

7
2018-04-19 08:41



Ayrıca prosedürler oluşturun - Luciano Santos


Use herDatabase
GO ; 

Kod, yukarıdaki talimatların yürütülmesini söylüyor GO işaretleyici. Varsayılan veritabanım myDatabase'tir, bu yüzden kullanmak yerine myDatabase GO ve herDatabase'i kullanmak için güncel sorguyu yapar


5
2018-02-27 16:34





Git, SQL ifadeleri daha önce yazılan ve daha önceki herhangi bir GO'dan sonra yazılan her şey, işlem için SQL sunucusuna gidecektir.

Çalışanlardan * seçin; GO --GO 1 çalışanları güncelle empID = 21; empCode = 123; GO --- GO 2

Yukarıdaki örnekte, GO1'den önceki ifadeler bir toplu işte sql'ye gidecektir ve GO2'den önceki tüm ifadeler başka bir grupta sql sunucusuna gidecektir. Gördüğümüz gibi partileri ayırdı.


0
2017-07-01 04:44