我有两个桌子在第一表中,它每时每刻都在添加行,具体取决于用户插入在第二号表中,我要复制的每一行都已添加到表一中,但具有特定条件还有第二号表还有一些其他列,我以后需要我想通过触发器来做到这一点,但我不知道该怎么办
我已经尝试过存储过程,但不会自动进行
INSERT INTO ax.RETAILTRANSACTIONSALESTRANS2
(
[BARCODE]
, [CREATEDDATETIME]
,[Name]
, [ITEMID]
, [NETAMOUNTINCLTAX]
, [QTY]
, [STAFFID]
, [TERMINALID]
, [TRANSDATE]
,[PERIODICPERCENTAGEDISCOUNT]
,[ReceiptID]
)
SELECT ab.[BARCODE]
, ab.[CREATEDDATETIME]
,[ax].[ECORESPRODUCTTRANSLATION].[NAME]
, ab.[ITEMID]
, ab.[PRICE]
, ab.[QTY]
, ab.[STAFFID]
, ab.[TERMINALID]
, ab.[TRANSDATE]
, ab.[PERIODICPERCENTAGEDISCOUNT]
,ab.RECEIPTID
FROM ax.RetailTransactionSalesTrans ab
inner join [ax].[INVENTTABLE] on ab.[ITEMID] =[ax].[INVENTTABLE].[ITEMID]
inner join [ax].[ECORESPRODUCTTRANSLATION] on [ax].[INVENTTABLE].PRODUCT =[ax].[ECORESPRODUCTTRANSLATION].[PRODUCT]
LEFT JOIN ax.RETAILTRANSACTIONSALESTRANS2 a ON
a.[BARCODE] = ab.[BARCODE]
AND a.[CREATEDDATETIME] = ab.[CREATEDDATETIME]
AND a.[ITEMID] = ab.[ITEMID]
AND a.[NETAMOUNTINCLTAX] = ab.[PRICE]
AND a.[QTY] = ab.[QTY]
AND a.[STAFFID] = ab.[STAFFID]
AND a.[TERMINALID] = ab.[TERMINALID]
AND a.[TRANSDATE] = ab.[TRANSDATE]
AND a.[PERIODICPERCENTAGEDISCOUNT]=ab.[PERIODICPERCENTAGEDISCOUNT]
and a.Process=null and a.Checked=null and a.[Select]=null
where ab.[QTY]>0 and ab.[RECEIPTID]!='' and ab.[TRANSDATE] >= DATEADD(day, @daycount*-1, GetDate())
and NOT EXISTS(select * from ax.RETAILTRANSACTIONSALESTRANS2 where [CREATEDDATETIME] = ab.[CREATEDDATETIME])
我想将其转换为触发器,但我不怎么做
注意:@daycount我从另一个表中获取它,但我通过程序将其传递了
您可以使用下面的内容并编辑所需的列,其主意是已插入FROM,您可以选择插入到主表中的所有行。
在RetailTransactionSalesTrans上创建TRIGGER TRetailTransactionSalesTrans插入如开始插入零售交易销售额2选择[条形码],[CREATEDDATETIME],[名称],[ITEMID],[NETAMOUNTINCLTAX],[数量],[STAFFID],[TERMINALID],[TRANSDATE],[PERIODICPERCENTAGEDISCOUNT],[ReceiptID]FROM已插入;结束