Aracılığıyla paylaş


WAITFOR kullanma

WAITFOR deyim, bir toplu iş, saklı yordam veya işlem kadar yürütülmesini askıya alır:

  • Belirtilen bir saat geçti.

  • Günün belirli BIR saat ulaşıldı.

  • Belirtilen bir Al deyimini değiştirir veya en az bir satır, bir Hizmet Aracısı sırasına gönderir.

Gerçek süre gecikmesi belirtilen saat değişebilir ve sunucunun etkinlik düzeyine bağlıdır.Iletişim başlatan bir hizmet belirtir.Belirtilen ad, geçerli veritabanındaki bir hizmet adı olmalıdır.

WAITFOR deyim aşağıdaki yan tümceleri biriyle belirlenir:

  • DELAY anahtar sözcüğün arkasından bir time_to_pass WAITFOR deyim tamamlamadan önce. WAITFOR deyim tamamlamadan önce beklenecek süre 24 saat olabilir.

    Aşağıdaki örnek DELAY anahtar, iki saniye gerçekleştirmeden önce beklenecek bir SELECT Deyim:

    WAITFOR DELAY '00:00:02';
    SELECT EmployeeID FROM AdventureWorks.HumanResources.Employee;
    
  • saat anahtar sözcüğün arkasından bir time_to_execute, hangi BEKLE deyim tamamlar süreyi belirtir.

    Aşağıdaki örnek TIME 10 SAAT kadar beklemeniz için anahtar sözcük (22:00) bir denetimi gerçekleştirmek için AdventureWorks Tüm sayfaları doğru tahsis kullanılan ve emin olmak için veritabanı:

    USE AdventureWorks;
    GO
    BEGIN
        WAITFOR TIME '22:00';
        DBCC CHECKALLOC;
    END;
    GO
    
  • Hizmet Aracısı sıradan bir veya daha fazla olan iletileri alır BIR Al deyim yan tümce.WAITFOR bir Al deyimiyle belirtilmişse, ileti şu anda varsa, deyim, sırası geldiğinde bir ileti bekler.

  • TIMEOUT anahtar sözcüğün arkasından bir timeout milisaniye cinsinden saat uzunluğunu belirtir, Service Broker Sıranın üzerinde geldiğinde bir ileti bekler. TIMEOUT Al deyim veya GET KONUşMA GROUP deyim belirtilebilir.