sql - 我想使用触发器将数据从表复制到另一个不重复
问题描述
我在第一个表中有两个表,它每时每刻都添加行取决于用户插入,在第二个表中,我想复制每一行已添加到第一个表但具有特定条件,第二个表还有一些我需要的附加列后来我想通过触发器来做到这一点,但我不知道该怎么做
我已经尝试过存储过程但不是自动的
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 Inserted您可以选择插入到主表中的所有行。
CREATE TRIGGER TRetailTransactionSalesTrans ON RetailTransactionSalesTrans
FOR INSERT
AS
BEGIN
INSERT INTO RETAILTRANSACTIONSALESTRANS2
SELECT [BARCODE]
,[CREATEDDATETIME]
,[Name]
,[ITEMID]
,[NETAMOUNTINCLTAX]
,[QTY]
,[STAFFID]
,[TERMINALID]
,[TRANSDATE]
,[PERIODICPERCENTAGEDISCOUNT]
,[ReceiptID]
FROM Inserted;
END
推荐阅读
- python - 即使条件匹配,Python 也无法验证 == 运算符
- react-native - 如何使用参数 react native 分享到社交应用的深层链接?
- react-native - 将本机图像路径反应到 base64
- c++ - 加载 TensorFlow 模型以使用 C++ 操作音频流
- python - 如何在python中将列名从日期更改为月份名称-年份
- java - 无法在 android studio 中将数据上传到 Firebase
- javascript - firebase-ui如何覆盖标题
- python - 一次从两台设备使用 API 访问 Binance
- python-3.x - 如何将 Python 与 PowerDesigner 一起使用?
- html - CSS 在 Mozilla 和 IE 中是否正常工作,但在 Chrome 中工作正常?