回 帖 发 新 帖 刷新版面

主题:求助!!关于一个插入触发器

create   table   malfunction 

  malNum   varchar(5)   primary   key, 
  comDepartment   varchar(15)   not   null, 
  comNum   varchar(5)   not   null   , 
  malSort   varchar(30)   not   null, 
  cause   varchar(100)   not   null, 
  malDate   datetime   not   null, 
  submitDate   datetime   not   null, 


create   table   malService 

    malNum   varchar(5)   foreign   key   references   malfunction(malNum), 
    comDepartment   varchar(5)   not   null, 
    comNum   varchar(5)   not   null, 
    serviceResult   varchar(10)   default   '未维修', 
    servicePerson   varchar(30), 
    serviceExes   float   , 
    serviceDate   datetime 


第一表是用于记录故障,第二个表是用于记录维修故障情况的   
现在要求当第一个表插入一条数据时,第二个表也增加一条数据,字段malNum,comDepartment,comNum必须和第一个表保持一致 
怎么编写插入触发器??

回复列表 (共3个回复)

沙发


CREATE TRIGGER  malService_Insert
ON  malfunction 

FOR INSERT
as 
insert  malfunction ...

板凳

用insert
这个我也知道,但是具体写的时候会有些问题,
这个问题我已经解决了,
你命令都写错了
应该是:
CREATE TRIGGER  malService_Insert
ON  malfunction 

FOR INSERT
as 
insert into malfunction(malNum,comDepartment,comNum) select malNum,comDepartment,comNum from inserted

3 楼

我也是新手,不对请指正

CREATE TRIGGER tri_fun_srv
ON malfunction
FOR insert
AS
IF EXISTS (SELECT * FROM insert)
BEGIN
INSERT INTO malService(malNum,comDepartment,comNum) SELECT malNum,comDepartment,comNum FROM inserted
END

我来回复

您尚未登录,请登录后再回复。点此登录或注册