AdventureWorks2012 데이터베이스에서 SQL Server를 사용하고 있습니다. 나는 방아쇠로 일하고있다. 내가 삽입 한 행을 AuditTable이라는 다른 테이블의 하나의 단일 열에 복사하려고합니다. 기본적으로 parson.address 테이블에 삽입 할 때마다 모든 행을 AuditTable.prevValue 열에 복사하고 싶습니다. 나는 등을 삽입하는 방법을 알고, 나는 하나의 열에 쓰는 방법을 모르겠다.SQL Server 2012. 행을 다른 테이블의 단일 열로 복사
다음은 일반적인 개념입니다.
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
어떤 도움을 주셔서 감사합니다. 로드를 검색했지만 어디서나 정확한 솔루션을 찾을 수 없습니다.ERROR: The select list for the INSERT statement contains more items than the insert list. The number of SELECT values must match the number of INSERT columns.
2. 내가 완료 한 것입니다. INSERT INSERT INSERT INSERT INSERT INTO AdventureWorks2012.HumanResources.AuditTable (PrevValue) SELECT N'ID : '+ CAST (AddressID AS NVARCHAR (20)) + N'Address :'+ AddressLine1 + N ','+ AddressLine2 + City + CAST (StateProvinceID AS NVARCHAR (20)) + CAST (PostalCode AS NVARCHAR (20)) + CAST (SpatialLocation AS NVARCHAR (200)) + CAST (rowguid AS NVARCHAR (100)) + CAST (수정 된 날짜 AS NVARCHAR (40)) FROM 삽입 됨. 나는 이것이 올바르게되어야한다고 생각하지만, 기둥 중 하나는 지형 유형입니다. –
테이블을 nvarchar (300)로 설정하고 모두 char로 변환했지만 문제는 "문자열을 uniqueidentifier로 변환 할 때 변환이 실패했습니다."입니다. 아주 많이 감사합니다. –