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.
[ 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 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 ;
See Also