2011-09-22 45 views
0

我有三个表,需求,selloffer和贸易。 Tradelead是一个表格,它包含前两个表格的共同实体。这种情况下的SQL触发器是什么?

Schema of requirement: 
    reqId, name, description, posteddate, companyid, cat1,cat2,cat3 .... 

Schema of selloffer: 
    sellid, name, description, posteddate, companyid, cat1,cat2,cat3 .... 

Schema of tradelead: 
    id, name, description, posteddate, companyid, cat1,cat2,cat3, typeid 

在这里,我正在使用typeid区分买入和卖出。它的购买,然后1将随数据插入其他2.

那么,什么是我的触发器上述情况?

情景: 每当行或者插入要求或selloffers,行也将获得创建到供求信息表,使用上述columns.Mean当需求被创建的行还获得创建的说在类型为id = 1的TradeLead中,并且如果它是在selloffers中创建的,则tradelead将填充type = 2并保持不变。 我希望,我现在很清楚

+0

具体什么是应该插入和成什么样的表,其表?这是一个简单的'INSERT'触发器,但它取决于标准和插入的位置。 – Wil

+0

交易标识中的id列是否为IDENTITY列,或者它是源行的reqId还是sellid? –

+0

以id为后缀的第一列是peimary键 –

回答

2
CREATE TRIGGER dbo.requirment_insert 
ON dbo.requirment 
FOR INSERT 
AS 
BEGIN 
    INSERT dbo.tradelead(id, name, ..., typeid) 
     SELECT reqId, name, ..., 1 
     FROM inserted; 
END 
GO 

CREATE TRIGGER dbo.selloffer_insert 
ON dbo.selloffer 
FOR INSERT 
AS 
BEGIN 
    INSERT dbo.tradelead(id, name, ..., typeid) 
     SELECT sellid, name, ..., 2 
     FROM inserted; 
END 
GO