Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我希望使用触发器将数据从一个表复制到另一个表,而不复制数据_Sql_Sql Server_Triggers_Copy_Database Trigger - Fatal编程技术网

Sql 我希望使用触发器将数据从一个表复制到另一个表,而不复制数据

Sql 我希望使用触发器将数据从一个表复制到另一个表,而不复制数据,sql,sql-server,triggers,copy,database-trigger,Sql,Sql Server,Triggers,Copy,Database Trigger,我有两张桌子 在表1中,每个时刻添加行取决于用户插入 在表2中,我想复制表1中添加的每一行,但有特定的条件 表2还有一些额外的列,我稍后需要它们 我想用触发器,但我不知道怎么做 我已经尝试了存储过程,但不是自动尝试的 插入ax.RETAILTRANSACTIONSALESTRANS2 [条形码] ,[CREATEDDATETIME] ,[姓名] ,[ITEMID] ,[NetaTax] ,[数量] ,[斯塔夫] ,[TERMINALID] ,[转换日期] ,[周期百分比折扣] ,[Receip

我有两张桌子 在表1中,每个时刻添加行取决于用户插入 在表2中,我想复制表1中添加的每一行,但有特定的条件 表2还有一些额外的列,我稍后需要它们 我想用触发器,但我不知道怎么做

我已经尝试了存储过程,但不是自动尝试的

插入ax.RETAILTRANSACTIONSALESTRANS2 [条形码] ,[CREATEDDATETIME] ,[姓名] ,[ITEMID] ,[NetaTax] ,[数量] ,[斯塔夫] ,[TERMINALID] ,[转换日期] ,[周期百分比折扣] ,[ReceiptID] 选择ab[条形码] ,ab.[CREATEDDATETIME] ,[ax].[ECORESPRODUCTTRANSLATION].[NAME] ,ab.[ITEMID] ,ab.[价格] ,ab.[数量] ,ab.[斯塔夫] ,ab.[终端] ,ab.[转换日期] ,ab.[周期百分比折扣] ,ab.RECEIPTID 来自ax.RetailTransactionSalesTrans ab ab上的内部联接[ax].[INVENTTABLE]。[ITEMID]=[ax].[INVENTTABLE].[ITEMID] [ax].[INVENTTABLE].PRODUCT=[ax].[ECORESPRODUCTTRANSLATION].[PRODUCT]上的内部联接[ax].[ECORESPRODUCTTRANSLATION] 左连接ax.RETAILTRANSACTIONSALESTRANS2 a打开 a、 [条形码]=ab[条形码] 和a[CREATEDDATETIME]=ab[CREATEDDATETIME] 和a.[ITEMID]=ab.[ITEMID] 和a[netaax]=ab[PRICE] 和a[数量]=ab[数量] 和a[STAFFID]=ab[STAFFID] 和a.[TERMINALID]=ab.[TERMINALID] 和a[TRANSDATE]=ab[TRANSDATE] 和a.[PERIODICPERCENTAGEDISCOUNT]=ab.[PERIODICPERCENTAGEDISCOUNT] 以及a.Process=null和a.Checked=null和a.[Select]=null 其中ab.[QTY]>0和ab.[RECEIPTID]!=和ab.[TRANSDATE]>=DATEADDday,@daycount*-1,GetDate
并且不存在从ax.RETAILTRANSACTIONSALESTRANS2中选择*,其中[CREATEDDATETIME]=ab.[CREATEDDATETIME]您可以使用下面的命令并编辑所需的列,想法是从插入中选择插入到主表中的所有行

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

请参阅触发器文档,因为我看到错误消息207,级别16,状态1,过程TRetailTransactionSalesTrans,第3行无效列名“name”。Msg 213,级别16,状态1,过程TRetailTransactionSalesTrans,第2行列名或提供的值的数量与表定义不匹配。表tow比表1多4列,但这些列在表1上不存在,并且与表1没有关系,并且名称列来自另一个具有内部联接的表