Share via


GET KONUşMA GROUP (Transact-SQL)

Sonraki alınabilmesi için ileti ve görüşmeyi grup için iletiyi içeren görüşmeyi kilitlerin konuşma grubu tanımlayıcısını döndürür.konuşma grubu tanımlayıcısı, önce gelen iletiyi alma konuşma durum bilgilerini almak için kullanılabilir.

Topic link iconTransact-SQL sözdizimi kuralları

[ WAITFOR ( ]
   GET CONVERSATION GROUP @conversation_group_id
      FROM <queue>
[ ) ] [ , TIMEOUT timeout ]
[ ; ]


<queue> ::=
{
    [ database_name . [ schema_name ] . | schema_name . ] queue_name
}

Bağımsız değişkenler

  • waitfor
    Belirleyen bir GET konuşma grubu deyim hiçbir ileti şu anda varsa sıra geldiğinde bir ileti bekler.

  • @conversation\_group\_id
    konuşma grubu KIMLIĞI'ni depolamak için kullanılan bir değişken GET KONUşMA GROUP deyim ile döndürülen.Değişken türünde olmalıdır uniqueidentifier. Konuşma gruplar varsa, değişken değeri NULL olarak küme.

  • Kimden
    Almak için sıra belirtir konuşma grubu gelen.

  • database_name
    Almak için sıra içeren veritabanının adı konuşma grubu gelen.Yok, database_name , geçerli veritabanı için varsayılan değerler verilmiştir.

  • schema_name
    Almak için sıranın sahibi olan şema adı konuşma grubu gelen.Yok, schema_name , varsayılan olarak geçerli kullanıcının varsayılan şemayı sağlanır.

  • queue_name
    Almak için sıra adı konuşma grubu gelen.

  • timeout TIMEOUT
    Bir iletinin sıraya ulaşması Hizmet Aracısı bekleyeceği, milisaniye cinsinden saat uzunluğunu belirtir.Bu yan tümce yalnızca BEKLE yan tümcesiyle birlikte kullanılabilir.WAITFOR kullanan bir deyim, bu yan tümce içermiyorsa veya timeout -1 olan bekleme saat sınırsızdır. Zaman aşımı, GET dolarsa konuşma grubu ayarlar @ conversation_group_id NULL değişkeni.

Remarks

Important noteImportant Note:

GET konuşma grubu deyim, bir toplu iş veya saklı yordamın ilk deyim değil, önceki deyimi tamamlanmalıdır bir noktalı virgül () ile;), the Transact-SQL deyimi Sonlandırıcı.

Sıra GET belirtilmişse konuşma grubu deyim kullanılamaz, deyim ile başarısız oluyor bir Transact-SQL Hata.

Bu deyim, burada aşağıdakilerin tümü doğruysa sonraki konuşma grubu döndürür:

  • konuşma grubu başarıyla kilitlenebilir.

  • konuşma grubu sırada kullanılabilir olan iletileri vardır.

  • konuşma grubu, daha önce listelenen ölçütlere uyan tüm konuşma gruplar en yüksek öncelik düzey vardır.Öncelik düzeyini bir konuşma grubu grubunun bir üye ve bu iletileri sıraya sahip herhangi bir görüşmeyi atanan en yüksek öncelik düzey.

GET KONUşMA GROUP art arda yapılan aynı işlem içinde birden fazla konuşma grubu kilit.Herhangi bir konuşma grubu varsa, deyim, görüşme Grup tanımlayıcısı olarak NULL döndürüyor.

WAITFOR yan tümcesinde belirtildiği zaman, deyim veya belirtilen zaman aşımı için bir konuşma grubu kullanılabilir oluncaya kadar bekler.deyim, deyim beklerken sıra kesilirse, hemen bir hata döndürür.

GET konuşma grubu kullanıcı tanımlı bir işlev geçerli değil.

İzinler

Almak için bir konuşma grubu tanıtıcısı geçerli kullanıcının bir sıra, sıraya göre Al iznine sahip olmanız gerekir.

Örnekler

C.Sonsuza kadar beklemek bir konuşma grubu alınıyor

Aşağıdaki örnek ayarlar @conversation\_group\_id için konuşma grubu üzerinde kullanılabilen bir sonraki iletiye tanımlayıcısı ExpenseQueue. Komut, bir iletinin kullanılabilir hale gelinceye kadar bekler.

DECLARE @conversation_group_id UNIQUEIDENTIFIER ;

WAITFOR (
 GET CONVERSATION GROUP @conversation_group_id
     FROM ExpenseQueue
) ;

b.konuşma grubu, bir dakikalık bekleme alınıyor

Aşağıdaki örnek ayarlar @conversation\_group\_id için konuşma grubu üzerinde kullanılabilen bir sonraki iletiye tanımlayıcısı ExpenseQueue. Ileti, bir dakika içinde kullanılabilir duruma gelirse, GET KONUşMA GROUP değeri değiştirmeden verir @conversation\_group\_id.

DECLARE @conversation_group_id UNIQUEIDENTIFIER

WAITFOR (
    GET CONVERSATION GROUP @conversation_group_id 
    FROM ExpenseQueue ),
TIMEOUT 60000 ;

c.Konuşma grubu hemen geri alınıyor

Aşağıdaki örnek ayarlar @conversation\_group\_id için konuşma grubu üzerinde kullanılabilen bir sonraki iletiye tanımlayıcısı ExpenseQueue. Herhangi bir ileti varsa GET CONVERSATION GROUP hemen değiştirmeden verir. @conversation\_group\_id.

DECLARE @conversation_group_id UNIQUEIDENTIFIER ;

GET CONVERSATION GROUP @conversation_group_id
FROM AdventureWorks.dbo.ExpenseQueue ;