执行一个存储过程,执行过程可能会出现错误.如何跳过错误,继续往下执行后面的存储代码?
拆分成两个存储过程
CREATE PROC p1
as
DECLARE @sql nvarchar(400)
SET @sql = N'exec opendatasource(''SQLOLEDB'',''Data Source=10.10.1.2;User ID=iemis;Password=yinyuerp'').VIETNAM.dbo.sp_executesql N''update VIETNAM..ieap05h set status=''''Y'''',check_date=convert(varchar(10),getdate(),111) where ap_chno=''''V9110001'''''''
EXECUTE sp_executesql @sql
IF @@ERROR <> 0
PRINT 'ERROR'
ELSE
PRINT 'OK'
go
CREATE PROC P2
AS
EXEC p1
IF @@ERROR <> 0
PRINT 'fail'
ELSE
PRINT 'sucess'
我想执行 P2 时.要么显示 fail,要么sucess.但是当10.10.1.2服务不可用的时候
不是显示fail 而是
消息 17,级别 16,状态 1,第 1 行
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.