create proc test
@err varchar(255) --返回值,如果无错,就返回'',否则返回错误描述
as
declare @sql varchar(8000),@err int
set @sql='insert into 表 select * from 表 where 编号=''01'''
exec(@sql)
set @err=@@error
if @err<>0
set @err='A'
else
set @err='B'
go
create proc test
@err varchar(255) --返回值,如果无错,就返回'',否则返回错误描述
as
declare @sql varchar(8000),@err int
set @sql='insert into 表 select * from 表 where 编号=''01'''
exec(@sql)
set @err=@@error
if @err<>0
select @err=description from master..sysmessages where error=@err
else
set @err=''
go
--调用示例:
declare @err varchar(255)
exec test @err out
print @err