我有几个T-SQL存储过程,我使用RAISERROR,Severity参数为0,将进度消息打印到输出窗口。我已经使用WITH NOWAIT来确保消息立即打印出来。
但是,无论我传递给RAISERROR的字符串是什么,只有第一个字符被打印到屏幕上。
例如:
RAISERROR('Profiles Complete', 0, 1) WITH NOWAIT
仅在屏幕上打印一个“P”。
有人知道为什么会这样或我如何解决它?
非常感谢,
马丁。
答案 0 :(得分:5)
当变量声明为char且没有长度时,长度默认为1.
DECLARE @c char
SET @c = 'Profiles Complete'
PRINT @c
输出:
P