首页 > 解决方案 > 使用三个表使用触发器插入多行

问题描述

ALTER TRIGGER tr_ItemAccessInsert
ON [dbo].[tbl_InventoryGroup]
AFTER INSERT
AS
BEGIN
    DECLARE @ID decimal(18,3), @InventoryID decimal(18,3)

    SELECT @ID = [ItemID] FROM [dbo].[tbl_ItemMain]

    SELECT @InventoryID = [GroupID] FROM inserted

    INSERT INTO tbl_ItemInventoryAccess ([ItemID], [InventoryID], [Value])
    VALUES (@ID, @InventoryID, '0.11')
END

这是我对触发器的查询我在 tbl_itemmain 中有 10 个项目所以我想在 tbl_inventoryacess 中插入所有 10 个 itemid 请帮助我

标签: sqltriggers

解决方案


如果我在 [dbo].[tbl_InventoryGroup] 上使用类似 Alter trigger tr_ItemAccessInsert 插入作为开始后声明 @ID decimal(18,3),@InventoryID decimal(18,3)

从插入中选择 @InventoryID=[GroupID]

插入 tbl_ItemInventoryAccess([ItemID],[InventoryID],[Value]) values((select itemid from tbl_ItemMain) ,@inventoryid,'0')

结尾

获取错误子查询返回多个值


推荐阅读