存储过程返回错误信息问题
create procedure prcTest
@sDB varchar(100),@sTableName varchar(100)
as
--说明:字段 员工姓名 为主键字段,不允许空,并且数据库中已经有记录了
--数据库名字@sDB
--表名@sTableName
--把字段ygbh改为not null
set @sSQL='alter table '+@sDb+'..'+@sTableName+' alter
column 员工姓名 varchar(500) not null'
exec (@sSQL)
if @@error<>0
begin
--登记失败的信息
insert bError(name,errornum)('修改字段出错',@@error)
end
然后,我用vb调用该存储过程:exec prcTest 'tempTbStruOld1234567890','员工基本信息表'
当执行到exec (@sSQL)时出错,存储过程会停止执行。然后把错误返回给vb。
系统会提示的错误:“无法将 NULL 值插入列 '员工姓名',表 'tempTbStruOld1234567890.dbo.员工基本信息表';该列不允许空值。UPDATE 失败。”
我的问题是:上面的执行,其实没有执行
if @@error<>0
begin
--登记失败的信息
insert bError(name,errornum)('修改字段出错',@@error)
end
? 如何,执行exec (@sSQL)时,出错了存储过程不返回到vb,将@@error置为非零,并继续执行
if @@error<>0
begin
--登记失败的信息
insert bError(name,errornum)('修改字段出错',@@error)
end