回 帖 发 新 帖 刷新版面

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

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

我来回复

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