34,587
社区成员
发帖
与我相关
我的任务
分享
create table lin1(id int)
insert into lin1 select 1
insert into lin1 select 1
go
create proc lin11242
@id int
as
declare @error int
update lin1 set @error=(select id from lin1 where id=@id)
set @error=@@error
return @@error
go
declare @error int
exec @error=lin11242 1
select @error
go
drop table lin1
drop proc lin11242
我是想构造出一个返回其他error值的過程,目的是要捕捉系統的錯誤。我上面为什么实现不了呢,老是直接提示错误而没返回值呢?在書上看是說即使有錯誤也會返回錯誤值的,
难道这种情况不算是错误吗?是哪种错误情况才会继续执行并返回错误代码?
declare @error nvarchar(20)
select @error=N'错误演示'
raiserror(@error,16,1)
/*结果
消息 50000,级别 16,状态 1,第 3 行
错误演示
*/