BREAK (Transact-SQL)
Gilt für:SQL Server (alle unterstützen Versionen)
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
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
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 dedizierte SQL-Pools in Azure Synapse
declare @sleeptimesec int = 5;
declare @startingtime datetime2 = 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