طابعة رسائل SQL Server
اطبع الرسائل في SSMS على الفور باستخدام خدعة مجربة وموثوقة. يتضمن طابع وقت التاريخ وأرقام صفوف الخيار
وظيفة نستخدمها بانتظام لتتبع المواعيد ضمن إجراءات مخزنة طويلة الأمد. هذا يطبع دون انتظار دفعة مثل PRINT. يتم استخدام ثلاث معلمات إدخال:
- MessageDate - قم بتمرير NULL لطباعة وقت التاريخ الحالي كما تسمى الوظيفة ،
- MessageText - نص الرسالة الذي تريد عرضه
- MessageRows - أضف عدد الصفوف المتأثرة اختياريًا.
SQL
Use UtilitiesGOCREATE PROC dbo.Printer(@MessageDate DATETIME,@MessageText NVARCHAR(250),@MessageRows NVARCHAR(50)) AS BEGIN IF @MessageDate IS NULL SET @MessageDate=GETDATE(); DECLARE @MessageDateString NVARCHAR(MAX)=CONVERT(NVARCHAR(20),@MessageDate,120) IF @MessageRows IS NOT NULL BEGIN RAISERROR ('%s - %s - Rows(%s)',0,0,@MessageDateString,@MessageText,@MessageRows) WITH NOWAIT END IF @MessageRows IS NULL BEGIN RAISERROR ('%s - %s',0,0,@MessageDateString,@MessageText,@MessageRows) WITH NOWAIT ENDENDGOEXEC dbo.Printer NULL,'Started',NULLWAITFOR DELAY '00:00:03'EXEC dbo.Printer NULL,'Step 1',1WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 2',2WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 3',3WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 4',4WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Step 5',5WAITFOR DELAY '00:00:01'EXEC dbo.Printer NULL,'Finished',NULL