Figure 4 Processing Queued Messages
กก
SET NOCOUNT ON
USE tempdb

DECLARE @MyQueue TABLE
(
  msgid   INT         NOT NULL PRIMARY KEY,
  msgdata VARCHAR(15) NOT NULL
)

WHILE 1 = 1
BEGIN
  BEGIN TRAN
    WAITFOR
    (
      DELETE FROM MsgQueue WITH (READPAST)
      OUTPUT DELETED.* INTO @MyQueue
    )

    PRINT 'Processing messages ...'
    SELECT * FROM @MyQueue
    -- Message processing goes here

    DELETE FROM @MyQueue
  COMMIT TRAN
END