注册 登录
编程论坛 SQL Server论坛

请问这样的触发器怎样写?

davyxjc 发布于 2011-02-22 11:51, 480 次点击
a表头:id,code;
       8,  FQ101
b表体:id,typeid;
       8,  3
c表:typeid,typecode;
      3,     FQ
      4,    MQ
如,当增加一个订单FQ101,ID号是8,b表中的id是8,订单类别编号是3,C表中订单类别编码为3对应的类别是FQ,
由于增加订单时,很多人经常选错订单类别,如订单编码为FQ101,但在表体中选类别编号时,可能选错,没有3,如选4(MQ),现在我想写一个触发器,
当a表中的code以FQ字母开头,而表体中订单类别编码选错,对应c表中的typecode不是FQ时,不能保存资料。

请问这样的触发器怎样写呀?急用。
1 回复
#2
png2011-02-26 06:14
简单例子 -


Create TRIGGER Checking_TypeCode   ON  table_a   AFTER INSERT
AS
    if not exists    (
                    select  *      
                    from    inserted i  join table_b b on i.ID = b.ID
                                        join table_c c on b.TypeID = c.TypeID   
                    where  substring(i.code, 1, 2) = c.TypeCode
                    )
    rollback
1