BREAK (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL-Analyseendpunkt in Microsoft Fabric Warehouse in Microsoft Fabric SQL-Datenbank in Microsoft Fabric
BREAK beendet die aktuelle WHILE-Schleife. Wenn die aktuelle WHILE-Schleife mit einer anderen verschachtelt ist, beendet BREAK nur die aktuelle Schleife, und die Steuerung wird für die nächste Anweisung in der äußeren Schleife erteilt.
BREAK befindet sich in der Regel innerhalb einer IF-Anweisung.
Beispiele
Beispiel für SQL Server
Stellen Sie sich eine Tabelle vor, in der ein Wert erwartet wird, wenn ein anderer vorangehender Prozess abgeschlossen ist:
WHILE (1=1)
BEGIN
IF EXISTS (SELECT * FROM ##MyTempTable WHERE EventCode = 'Done')
BEGIN
BREAK; -- 'Done' row has finally been inserted and detected, so end this loop.
END
PRINT N'The other process is not yet done.'; -- Re-confirm the non-done status to the console.
WAITFOR DELAY '00:01:30'; -- Sleep for 90 seconds.
END
Beispiel für dedizierten SQL-Pool in Azure Synapse
DECLARE @sleeptimesec int = 1;
DECLARE @startingtime datetime2(2) = getdate();
PRINT N'Sleeping for ' + CAST(@sleeptimesec as varchar(5)) + ' seconds'
WHILE (1=1)
BEGIN
PRINT N'Sleeping.';
PRINT datediff(s, getdate(), @startingtime)
IF datediff(s, getdate(), @startingtime) < -@sleeptimesec
BEGIN
PRINT 'We have finished waiting.';
BREAK;
END
END