Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Az SQL Server olyan parancsokat biztosít, amelyek nem Transact-SQL utasítások, de az sqlcmd és osql segédprogramok és az SQL Server Management Studio Code Editor felismerik. Ezek a parancsok a kötegek és szkriptek olvashatóságának és végrehajtásának megkönnyítésére használhatók.
A GO egy Transact-SQL utasítás kötegének végét jelzi az SQL Server segédprogramjainak.
Transact-SQL szintaxis konvenciók
Syntax
GO [count]
Arguments
count
Pozitív egész szám. A GO-t megelőző köteg a megadott számú alkalommal lesz végrehajtva.
Remarks
A GO nem Transact-SQL utasítás; ez az sqlcmd és osql segédprogramok és az SQL Server Management Studio Code-szerkesztő által felismert parancs.
Az SQL Server-segédprogramok a GO-t jelként értelmezik, hogy az aktuális Transact-SQL utasításköteget az SQL Server egy példányának kell elküldeniük. Az aktuális utasításköteg az utolsó GO óta beírt összes utasításból áll, vagy az alkalmi munkamenet vagy szkript kezdete óta, ha ez az első GO.
A Transact-SQL utasítás nem foglalható el a GO-parancsokkal megegyező sorba. A sor azonban tartalmazhat megjegyzéseket.
A felhasználóknak be kell tartaniuk a kötegekre vonatkozó szabályokat. Egy tárolt eljárásnak például a köteg első utasítása utáni végrehajtásának tartalmaznia kell az EXECUTE kulcsszót. A helyi (felhasználó által definiált) változók hatóköre kötegre korlátozódik, és GO-parancs után nem hivatkozható rá.
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
Az SQL Server-alkalmazások több Transact-SQL utasítást küldhetnek az SQL Server egy példányának kötegelt végrehajtás céljából. A kötegben lévő utasítások ezután egyetlen végrehajtási tervbe lesznek lefordítva. Az SQL Server segédprogramokban alkalmi utasításokat végrehajtó programozók, vagy Transact-SQL utasítások szkriptjeinek létrehozása az SQL Server segédprogramokon való futtatáshoz, a GO használatával jelzik a köteg végét.
Az ODBC- vagy OLE DB API-kon alapuló alkalmazások szintaxishibát kapnak, ha GO-parancsot próbálnak végrehajtani. Az SQL Server segédprogramok soha nem küldenek GO-parancsot a kiszolgálónak.
A GO után ne használjon pontosvesszőt utasítás-terminátorként.
-- Yields an error because ; is not permitted after GO
SELECT @@VERSION;
GO;
A Microsoft Fabric portál SQL-lekérdezésszerkesztőjében minden SQL-utasítás független munkamenetként fut. A munkamenet-környezet nem marad meg az SQL-utasítások között. További információ: SQL-lekérdezésszerkesztő.
Permissions
A GO egy olyan segédprogramparancs, amely nem igényel engedélyeket. Bármely felhasználó végrehajthatja.
Examples
Az alábbi példa két köteget hoz létre. Az első köteg csak egy utasítást USE AdventureWorks2022 tartalmaz az adatbázis-környezet beállításához. A fennmaradó utasítások helyi változót használnak. Ezért minden helyi változódeklarációt egyetlen kötegbe kell csoportosítani. Ez úgy történik, hogy csak a változóra hivatkozó utolsó utasítás után lesz GO parancs.
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
Az alábbi példa kétszer hajtja végre a kötegben lévő utasításokat.
SELECT DB_NAME();
SELECT USER_NAME();
GO 2