【发布时间】:2014-01-06 10:25:12
【问题描述】:
我正在 AdventureWorks2012 数据库上使用 SQL Server。我正在使用触发器。我想将任何新插入的行复制到另一个名为 AuditTable 的表中的一个列中。基本上每当我插入 parson.address 表时,我想将所有行复制到 AuditTable.prevValue 列中。我知道如何插入等,我不确定如何写入一列。
这是一般的想法。
USE [AdventureWorks2012]
ALTER TRIGGER [Person].[sPerson] ON [Person].[Address]
FOR INSERT AS INSERT INTO AdventureWorks2012.HumanResources.AuditTable(PrevValue) select
AddressID,AddressLine1,AddressLine2,City, StateProvinceID, PostalCode, SpatialLocation, rowguid, ModifiedDate FROM Inserted
错误:INSERT 语句的选择列表包含的项目多于插入列表。 SELECT 值的数量必须与 INSERT 列的数量相匹配。
感谢您的帮助。我已经搜索了负载,但在任何地方都找不到确切的解决方案。
【问题讨论】:
标签: sql triggers insert sql-server-2012