tsql - T-SQL RAISERROR WITH NOWAIT 只打印一个字符而不是整个字符串

标签 tsql sql-server-2008-r2

我有几个 T-SQL 存储过程,我在其中使用 Severity 参数为 0 的 RAISERROR 将进度消息打印到输出窗口。我已经在使用 WITH NOWAIT 来确保立即打印消息。

但是,无论我将什么字符串传递给 RAISERROR,都只会将第一个字符打印到屏幕上。

例如:

RAISERROR('Profiles Complete', 0, 1) WITH NOWAIT

只在屏幕上打印一个“P”。

有谁知道这是为什么或我该如何解决?

非常感谢,

马丁。

最佳答案

当一个变量被声明为没有长度的char时,长度默认为1。

DECLARE @c char
SET @c = 'Profiles Complete'
PRINT @c

输出:

P

关于tsql - T-SQL RAISERROR WITH NOWAIT 只打印一个字符而不是整个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700344/

相关文章:

SQL Server查询突然变慢

sql - SQL PIVOT可以做这样的转换吗?

.net - DbGeography 上的坐标系统 ID

sql-server - 显式删除临时表或让 SQL Server 处理它

sql-server-2008-r2 - Snowflake sql - 横向展平函数与 sql server 的比较 - Split_String()

sql-server - Sql Server行大小限制和表设计

sql - 使用 FOR XML 从 SQL Server 2008 R2 返回空字段或空字段作为 <element/>

sql-server-2008 - T-SQL 从特定时间之间的多天中选择数据

sql - 获取 SQL Server 游标中的多个值

sql - 选择行并更新相同的行以进行锁定?