sqlserver 有没有像raiseerror 这样弹出提示信息。但提示是用Select 查出来的一张表
sqlserver有没有像raiseerror这样弹出提示信息。但提示是用Select查出来的一张表...
sqlserver 有没有像raiseerror 这样弹出提示信息。但提示是用Select 查出来的一张表
展开
1个回答
2013-06-28
展开全部
1> EXEC sp_addmessage 60001, 16,
2> @msgtext = N'User Password Error',
3> @lang = 'us_english'
4> go
1> EXEC sp_addmessage 60001, 16,
2> @msgtext = N'用户密码错误',
3> @lang = '简体中文'
4> go
-- 注: 用户通过sp_addmessage 添加的消息, 可以在sys.message视图中查询
1> BEGIN TRY
2>
3> -- 抛出自定义错误
4> RAISERROR(60001, 16, 1);
5>
6> END TRY
7> BEGIN CATCH
8> PRINT('错误代码 = ' + STR(ERROR_NUMBER()));
9> PRINT('错误严重级别 = ' + STR(ERROR_SEVERITY()));
10> PRINT('错误状态代码 = ' + STR(ERROR_STATE()));
11> PRINT('错误信息 = ' + ERROR_MESSAGE());
12> END CATCH
13> go
错误代码 = 60001
错误严重级别 = 16
错误状态代码 = 1
错误信息 = 用户密码错误
追问
我意思是显示Select * from Table 中的信息。 按你的写法 我还得用游标一行一行的print。
追答
BEGIN TRY
-- 抛出自定义错误
RAISERROR(60001, 16, 1);
END TRY
BEGIN CATCH
SELECT top 1 * FROM sys.messages where message_id = ERROR_NUMBER()
END CATCH
GO
message_id language_id severity is_event_logged text
--------------------------------------------------------------------------------
60001 1033 16 0 User Password Error
(1 行受影响)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询