在一个存储过程中1.@EDSTableName是一个传入参数
2.声明了一个变量 @Msg
SELECT @Msg = isnull(convert(varchar(255), @EDSTableName), 'NULL')
RAISERROR (' "@EDSTableName" parameter value: "%s"', 0, 1, @Msg) WITH NOWAIT
请问这句话什么意思,,请说得详细一点
2.声明了一个变量 @Msg
SELECT @Msg = isnull(convert(varchar(255), @EDSTableName), 'NULL')
RAISERROR (' "@EDSTableName" parameter value: "%s"', 0, 1, @Msg) WITH NOWAIT
请问这句话什么意思,,请说得详细一点
如果你在前台调用了这个存储,那前台就可以捕捉到这个错误了
--来自联机文档
BEGIN TRY
-- RAISERROR with severity 11-19 will cause execution to
-- jump to the CATCH block.
-- RAISERROR only generates errors with state from 1 through 127.
RAISERROR ('Error raised in TRY block.', -- Message text.
20, -- Severity.
2 -- State.
);
END TRY
BEGIN CATCH
print('Enter Catch block:')
SELECT
ERROR_MESSAGE(),
ERROR_SEVERITY(),
ERROR_STATE();
END CATCH;--Severity=2,state=2时结果:
/*
Error raised in TRY block.
消息 50000,级别 2,状态 2
*/--Severity=15,state=2时结果:
/*
Enter Catch block:
------------------------------- ---- ----
Error raised in TRY block. 15 2(1 行受影响)
*/--Severity=20,state=2时结果(Message内容被提换):
/*
Enter Catch block:
----------------------------------------------------------------------- --- ---
大于 18 的错误严重级别只能由 sysadmin 角色的成员用 WITH LOG 选项指定。 16 1(1 行受影响)
*/--Severity=15,state=144时结果(Message内容被提换):
/*
Enter Catch block:
----------------------------------------------------------------------- --- ---
144 是无效的状态值。有效范围是从 1 到 127。。 16 1(1 行受影响)
*/