只能用 raiserror('失败',16,-1)这种方式。

解决方案 »

  1.   

    在触发器里写:if ...
      raiserror('显示用户已经借出了5本书,不能再借了',16,3)在delphi里用
    try
      query1.execSQL;
    except
      on e: Exception do 
      begin
        showmessage('出错' + e.message);
        exit;
      end;
    end;
    showmessage('执行成功')
      

  2.   

    因为它是SQL自动调用的,你只能通过类似下面的办法:1.像楼上的,用错误处理.2.创建一个返回结果表,触发器将要返回的结果返回到结果表中,然后读取结果表得到触发器的返回值,例如:
    --创建测试表
    create table tb(id int identity(1,1),name varchar(10))--创建触发器返回结果表
    create table t_re(id int identity(1,1),name varchar(10),dt datetime,info varchar(100))
    go
    --创建测试触发器:
    create trigger t_chk on tb
    INSTEAD OF insert
    as
    if exists(select 1 from inserted where name in(select name from tb))
    insert into t_re select name,getdate(),'名称重复' from inserted
    else 
    insert into tb(name) select name from inserted
    go--测试
    insert into tb values('张三')
    select * from t_re
    insert into tb values('张三')
    select * from t_re--删除测试
    drop table tb,t_re