2014-10-07 86 views
-3

我试图在不同的表格中进行更新,并在主表格中插入时,我想在PayPal支付时执行此操作,因此在该列表中我们可以读取Paypal或Visa。插入特定列表时触发SQL SERVER

Table1transactions 
OrderID PaymentType Name LastName 
1  Paypal  NULL NULL 
2  Visa   Jhon Mercury 

Table2orders Main Table 
OrderID CustomerID Payment Type 
1   1001  Paypal 
2   2002  Visa 

Table3users 
CustomerID Name Lastname 
1001   Quenn AC/DC 
1002   Jhon Mercury 

RDBMS是Windows上的SQL SERVER。

我会尝试更好地解释它:

当一个人购买贝宝这个东西表2中创建行,但是它不填充名字和一个table1的更多详细信息,我们需要管理订单,签证插入不会发生这种情况,因为这是不同的过程,所以我创建了一个SQL语句来更新table1,并与表3中的数据同步,现在我们可以看到Paypal客户的订单详细信息。 我想创建一个触发器在table2插入的每一行,我不知道你是否可以创建一个验证的tigrer谁读取新行如果Table2.PaymentType ='贝宝'执行更新表1 ....... 否则什么也没有......

你知道如何或者哪个是最好的办法吗?目前我正在手动运行更新,但我想找到一个解决方案,如计划或触发器。

希望现在很容易产生不必要的影响。对不起我的英语,不是最好的...

谢谢你!

+1

您的文章肯定是缺少帮助你所需的最低限度的信息。没有涉及数据结构的细节,你甚至没有提到rdbms。 – Paolo 2014-10-07 13:12:09

+0

我改变了说明,希望有帮助,对不起,我是新来的,我的英语不是最好的:S – Oscar 2014-10-07 14:53:43

回答

1

你可以试试这个代码

CREATE TRIGGER trigger_name 
AFTER INSERT 
    ON table_name FOR EACH ROW 

BEGIN 

    -- variable declarations 

    -- trigger code 

END; 
+0

感谢那个塔伦, – Oscar 2014-10-09 12:03:51

+0

感谢那个塔伦,但我知道要做到这一点,我不知道知道该怎么做才能过滤paymentType才能进行更新。 目前我有这样的事情:更新table1设置名称lastaname其中table1.orderid = table2orderid和table2.customerid = table3.customerid和table2.paymenttype ='PayPal' 所以我想过滤在triger的东西,如果paymenttype ='贝宝'更新........ [其他]不要做任何事情。这是我不知道该怎么做的事情。你可以帮忙吗? – Oscar 2014-10-09 13:17:03

1
CREATE TRIGGER trigger_name 
AFTER INSERT 
    ON table_name FOR EACH ROW 

BEGIN 

    -- variable declarations 

    -- trigger code 

END;