trigger为:use wjgj_exam
go
create trigger lj_instead_code on lj_examlogin for insert
as
if (select s.apply_name from subject_apply s join inserted i 
on s.apply_name=i.apply_name 
and s.exam_type=i.exam_type )>0
begin
update j set j.type_detail=(select s.type_detail from subject_apply s inner join inserted i
 on s.apply_name=i.apply_name and s.exam_type=i.exam_type)
 from lj_examlogin j inner join inserted i on j.apply_name=i.apply_name and j.exam_type=i.exam_type
end用到的表及字段为:
lj_examlogin表:
apply_name varchar(14)            not null,      
exam_type       varchar(1)             not null,        
type_detail     varchar(4),       
subject_apply表:
type_detail     varchar(4)             not null,     
apply_name varchar(14)            not null,   
exam_type       varchar(1)             not null,     

解决方案 »

  1.   

    if (select s.apply_name from subject_apply s join inserted i 
    on s.apply_name=i.apply_name 
    and s.exam_type=i.exam_type )>0 ---选出是字符型不能>0if exists (select s.apply_name from subject_apply s join inserted i 
    on s.apply_name=i.apply_name 
    and s.exam_type=i.exam_type )orif len(select s.apply_name from subject_apply s join inserted i 
    on s.apply_name=i.apply_name 
    and s.exam_type=i.exam_type )>0
      

  2.   

    if (select s.apply_name from subject_apply s join inserted i 
    on s.apply_name=i.apply_name 
    and s.exam_type=i.exam_type )>0 ---选出是字符型不能>0if exists (select s.apply_name from subject_apply s join inserted i 
    on s.apply_name=i.apply_name 
    and s.exam_type=i.exam_type )orif len(select s.apply_name from subject_apply s join inserted i 
    on s.apply_name=i.apply_name 
    and s.exam_type=i.exam_type )>0