create trigger tri_aa_insert on aa
for insert
as 
insert submit.........
if @@error<>0
begin 
ROLLBACK TRAN
RAISERROR('插入数据出错,本次操作已取消。',18,18)
GOTO H_Error
end 
.............................................
H_Error:
return
然后在VB程序中捕捉错误,会有报错“插入数据出错”

解决方案 »

  1.   

    我的触发器
    CREATE TRIGGER [sms_autohistory] ON dbo.sms_send_cache
    FOR INSERT
    AS
    DECLARE 
    ... ...     /*判断是否成功*/
         if (@@error != 0) goto OnError
           
       /*执行*/
       commit transaction
       return
         
       /*错误处理*/
       OnError:
          rollback transaction
    RAISERROR('插入数据出错,本次操作已取消.',18,18)       return
    这样还是不行
      

  2.   

    CREATE TRIGGER [sms_autohistory] ON dbo.sms_send_cache
    FOR INSERT
    AS
    DECLARE 
    ... ...     /*判断是否成功*/
         if (@@error <> 0) goto OnError
           
       /*执行*/
       commit transaction
       return
         
       /*错误处理*/
       OnError:
          rollback transaction
          RAISERROR('插入数据出错,本次操作已取消.',18,18)
          return
      

  3.   

    CREATE TRIGGER [sms_autohistory] ON dbo.sms_send_cache
    FOR INSERT
    AS
    DECLARE 
    ... ...     /*判断是否成功*/
         if (@@error != 0) goto OnError
           
       /*执行*/
       commit transaction   goto Finish
         
       /*错误处理*/
       OnError:
          rollback transaction
    RAISERROR('插入数据出错,本次操作已取消.',18,18)       return
     Finish:
       GO