触发器内容:
use #booksSET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- 删除原有触发器
if exists(select name from sysobjects where name='User_Da_tri')
drop trigger User_Da_tri
GOCREATE TRIGGER User_Da_tri
   ON [dbo].[Users_HB] 
   INSTEAD OF DELETE
AS 
declare @KH nchar(10)
BEGIN
SET NOCOUNT ON;
if exists(select @KH=US_KaHao from deleted where US_Money>0)
return '账户中有余款,不能删户!'
    -- Insert statements for trigger hereEND
GO错误提示:
消息 102,级别 15,状态 1,过程 User_Da_tri,第 11 行
'=' 附近有语法错误。
消息 178,级别 15,状态 1,过程 User_Da_tri,第 12 行
在此上下文中不能使用带有返回值的 RETURN 语句。

解决方案 »

  1.   

    use #books SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    -- 删除原有触发器 
    if exists(select name from sysobjects where name='User_Da_tri') 
    drop trigger User_Da_tri 
    GO CREATE TRIGGER User_Da_tri 
      ON [dbo].[Users_HB] 
      INSTEAD OF DELETE 
    AS 
    declare @KH nchar(10) 
    BEGIN SET NOCOUNT ON; 
    if exists(select US_KaHao from deleted where US_Money>0) 
    return '账户中有余款,不能删户!' 
        -- Insert statements for trigger here END 
      

  2.   

    use #books SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    -- 删除原有触发器 
    if exists(select name from sysobjects where name='User_Da_tri') 
    drop trigger User_Da_tri 
    GO CREATE TRIGGER User_Da_tri 
      ON [dbo].[Users_HB] 
      INSTEAD OF DELETE 
    AS 
    declare @KH nchar(10) 
    BEGIN SET NOCOUNT ON; 
    if exists(select US_KaHao from deleted where US_Money>0) 
     select '账户中有余款,不能删户!' 
        -- Insert statements for trigger here END 
      

  3.   

    SET NOCOUNT ON; 
    if exists(select @KH=US_KaHao from deleted where US_Money>0) 
    PRINT '账户中有余款,不能删户!' 
        -- Insert statements for trigger here
      

  4.   

    SET NOCOUNT ON; 
    if exists(select @KH=US_KaHao from deleted where US_Money>0) 
    print '账户中有余款,不能删户!' 
        -- Insert statements for trigger here END 
    GO 
      

  5.   

    use #books SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    -- 删除原有触发器 
    if exists(select name from sysobjects where name='User_Da_tri') 
    drop trigger User_Da_tri 
    GO CREATE TRIGGER User_Da_tri 
      ON [dbo].[Users_HB] 
      INSTEAD OF DELETE 
    AS 
    declare @KH nchar(10)
    BEGIN 
    SET NOCOUNT ON; 
    if exists(select 1 from deleted where US_Money>0 and US_KaHao=@KH) 
    select '账户中有余款,不能删户!' 
        -- Insert statements for trigger here END 
      

  6.   

    if exists(select US_KaHao from deleted where US_Money>0 AND US_KaHao=@KH) 是不是这个意思啊
      

  7.   

    if exists(select @KH=US_KaHao from deleted where US_Money>0) 
    这句有问题
      

  8.   


    if exists(select US_KaHao from deleted where US_Money>0)
    begin
     print '账户中有余款,不能删户!' 
     rollback tran
    end
      

  9.   

    CREATE TRIGGER User_Da_tri 
      ON [dbo].[Users_HB] 
      INSTEAD OF DELETE 
    AS 
    BEGIN 
    if exists(select US_KaHao from deleted where US_Money>0) 
    return '账户中有余款,不能删户!' 
    else
    delete [Users_HB] from [Users_HB] a,deleted  b
    where a.id=b.id
    END 
    GO