Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric'te
SQL analitiği uç noktasıMicrosoft Fabric'te
DepoMicrosoft Fabric'te SQL veritabanı
SQL Server, Transact-SQL deyimleri olmayan, ancak sqlcmd ve osql yardımcı programları ile SQL Server Management Studio Code Düzenleyicisi tarafından tanınan komutlar sağlar. Bu komutlar, toplu iş ve betiklerin okunabilirliğini ve yürütülmesini kolaylaştırmak için kullanılabilir.
GO, SQL Server yardımcı programlarına bir grup Transact-SQL deyiminin sonunu bildirir.
Transact-SQL söz dizimi kuralları
Syntax
GO [count]
Arguments
count
Pozitif bir tamsayıdır. GO'nun önündeki toplu iş belirtilen sayıda yürütülür.
Remarks
GO bir Transact-SQL deyimi değildir; sqlcmd ve osql yardımcı programları ve SQL Server Management Studio Code düzenleyicisi tarafından tanınan bir komut.
SQL Server yardımcı programları, GO'nun geçerli Transact-SQL deyim toplu işlemini SQL Server örneğine göndermeleri gerektiğini belirten bir sinyal olarak yorumlar. Geçerli deyim toplu işlemi, son GO'dan sonra veya ilk GO ise geçici oturum veya betiğin başlangıcından bu yana girilen tüm deyimlerden oluşur.
Transact-SQL deyimi, GO komutuyla aynı satırı kaplayamaz. Ancak, satırda açıklamalar bulunabilir.
Kullanıcıların toplu işlemler için kurallara uyması gerekir. Örneğin, toplu iş içindeki ilk deyimden sonra saklı yordamın yürütülmesi execute anahtar sözcüğünü içermelidir. Yerel (kullanıcı tanımlı) değişkenlerin kapsamı bir toplu işlemle sınırlıdır ve GO komutundan sonra başvurulamaz.
USE AdventureWorks2022;
GO
DECLARE @MyMsg VARCHAR(50)
SELECT @MyMsg = 'Hello, World.'
GO -- @MyMsg is not valid after this GO ends the batch.
-- Yields an error because @MyMsg not declared in this batch.
PRINT @MyMsg
GO
SELECT @@VERSION;
-- Yields an error: Must be EXEC sp_who if not first statement in
-- batch.
sp_who
GO
SQL Server uygulamaları, toplu olarak yürütülmek üzere SQL Server örneğine birden çok Transact-SQL deyimi gönderebilir. Daha sonra toplu iş içindeki deyimler tek bir yürütme planında derlenir. SQL Server yardımcı programlarında geçici deyimler yürüten veya SQL Server yardımcı programlarında çalıştırmak üzere Transact-SQL deyimleri betikleri oluşturan programcılar, toplu iş sonuna işaret etmek için GO kullanır.
ODBC veya OLE DB API'lerini temel alan uygulamalar BIR GO komutu yürütmeye çalışırlarsa söz dizimi hatası alır. SQL Server yardımcı programları hiçbir zaman sunucuya go komutu göndermez.
GO'den sonra deyim sonlandırıcısı olarak noktalı virgül kullanmayın.
-- Yields an error because ; is not permitted after GO
SELECT @@VERSION;
GO;
Microsoft Fabric portalı SQL sorgu düzenleyicisinde, her SQL deyimi bağımsız bir oturum olarak çalışır. Oturum bağlamı SQL deyimleri arasında kalıcı olmaz. Daha fazla bilgi için bkz . SQL sorgu düzenleyicisi.
Permissions
GO, izin gerektirmeyen bir yardımcı program komutudur. Herhangi bir kullanıcı tarafından yürütülebilir.
Examples
Aşağıdaki örnek iki toplu iş oluşturur. İlk toplu işlem yalnızca veritabanı bağlamını ayarlamak için bir USE AdventureWorks2022 deyim içerir. Kalan deyimler yerel bir değişken kullanır. Bu nedenle, tüm yerel değişken bildirimleri tek bir toplu işte gruplandırılmalıdır. Bu, değişkene başvuran son deyime kadar bir GO komutun olmamasıyla gerçekleştirilir.
USE AdventureWorks2022;
GO
DECLARE @NmbrPeople INT
SELECT @NmbrPeople = COUNT(*)
FROM Person.Person;
PRINT 'The number of people as of ' +
CAST(GETDATE() AS CHAR(20)) + ' is ' +
CAST(@NmbrPeople AS CHAR(10));
GO
Aşağıdaki örnek, toplu iş içindeki deyimleri iki kez yürütür.
SELECT DB_NAME();
SELECT USER_NAME();
GO 2