BREAK (Transact-SQL)
適用於:sql Server
Azure SQL 資料庫
Azure SQL 受控執行個體
azure Synapse Analytics
Platform System (PDW)
MICROSOFT Fabric
倉儲中 Microsoft Fabric 的 SQL 分析端點
BREAK 會退出目前的 WHILE 迴圈。 若目前的 WHILE 迴圈位於另一個迴圈的巢狀結構內,則 BREAK 只會退出目前的迴圈,將控制權交給外部迴圈的下一個陳述式。
BREAK 通常位於 IF 陳述式內。
範例
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
Azure Synapse 專用 SQL 集區的範例
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
另請參閱
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: