CREATE trigger DDJYTZ_TRIGGER on DDJYTZ
 for delete
as
  begin
     delete from DDWJML
       where DDWJML.WJBH=DDJYTZ.WJBH
end
修改为
delete from DDWJML
       where  WJBH in(select WJBH from deleted)
还有
每一个操作后面加GO

解决方案 »

  1.   

    宝宝呀,这么简单的问题,也来问呀!在create trigger前边加一个go呀。因为create trigger必须是一个批处理的第一条执行语句。
      

  2.   

    SQL Server提示已经够清楚了!
      

  3.   

    go 是用来告诉服务器以上SQL语句为一个批处理,而向 create trigger这样的语句只能在一个批处理的第一句中的啊.
      

  4.   

    --在档案借阅台帐下建立索引
    if object_id('WJBH_INDEX') is not null
       drop  index DDJYTZ.WJBH_INDEX
    create unique index WJBH_INDEX on DDJYTZ(WJBH)go --在TRIGGER前要加GO
    --建立借阅台帐的触发器
    if exists (select name from sysobjects where name ='DDJYTZ_TRIGGER' )
         drop trigger DDJYTZ_TRIGGER
    CREATE trigger DDJYTZ_TRIGGER on DDJYTZ
     for delete
    as
      begin
         delete from DDWJML
           where DDWJML.WJBH=DDJYTZ.WJBH
    end
      

  5.   

    试过了!
      没用啊!
        我用的SQL7.0
      

  6.   

    能给我讲解一下为什么我的触发器搞不下来呢!
      我是按照书上的格式写下来的啊!
        能给我介绍一本好一点的书吗???
      谢谢拉!
     现在只有一个问题了!
    Syntax error converting datetime from character string.
      

  7.   

    这是同步两个表的三个触发器:---------------------------------同步---------------
    ----------------------------------------------------CREATE TRIGGER 名1 ON dbo.tabMain
    FOR INSERT
    AS
    insert db2..tabSlave select * from insertedCREATE TRIGGER 名2 ON dbo.tabMain
    FOR update
    AS
    update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号
    CREATE TRIGGER 名3 ON dbo.tabMain
    FOR delete
    AS
    delete db2..tabSlave where 编号 in (select 编号 from deleted)你理解了就懂了
      

  8.   

    这是你写的:CREATE trigger DDJYTZ_TRIGGER on DDJYTZ
     for delete
    as
    begin
         delete from DDWJML  
       where DDWJML.WJBH=DDJYTZ.WJBH <<===这里你看得懂吗?错的一塌糊涂
    end
    go
    --触发器里有inserted和deleted两个系统临时表,举例:
    create table 表 (a int)
    go
    insert 表 values (1)
    go
    CREATE TRIGGER 名 ON 表
    FOR UPDATE
    AS
    select a 更新前被删除的数据 from deleted
    select a 更新后被插入的数据 from inserted
    go
    ------------测试:
    update 表 set a=3
      

  9.   

    where DDWJML.WJBH=DDJYTZ.WJBH <<===这里你看得懂吗?错的一塌糊涂
      这个地方我后来改过来了!
       delete  DDJYTZ
       FROM DELETED D,DDWJML S
         where D.FLH=S.WJBH
      嘻嘻
      是我开始对触发器的格式误解了!