sql >> データベース >  >> RDS >> Sqlserver

SQL Serverで無限whileループを整理するには?

    WHILE 1 = 1 に加えて 他の回答が示唆するように、次の例のように、SQL の「無限」ループに「タイムアウト」を追加することがよくあります。

    DECLARE @startTime datetime2(0) = GETDATE();
    
    -- This will loop until BREAK is called, or until a timeout of 45 seconds.
    WHILE (GETDATE() < DATEADD(SECOND, 45, @startTime))
    BEGIN
        -- Logic goes here: The loop can be broken with the BREAK command.
    
        -- Throttle the loop for 2 seconds.    
        WAITFOR DELAY '00:00:02';
    END
    

    長いポーリングから呼び出されるストアド プロシージャ内で上記の手法が役立つことがわかりました。 AJAX バックエンド。データベース側にループを配置することで、アプリケーションは常にデータベースにアクセスして新しいデータをチェックする必要がなくなります。



    1. オプションを使用してコマンドラインから.sqlファイルをエクスポートおよびインポートする方法は?

    2. Postgresbytea列をファイルとしてダウンロードする方法

    3. BrentOzarとPinalDaveによるSQLServerのパフォーマンスに関するアドバイス

    4. 特定の列を取得するためのHibernateCriteriaクエリ