업데이트가 TABLE A
인 경우 TABLE B
에 레코드를 삽입 할 수 있습니까?테이블의 업데이트를 다른 테이블에 삽입해야합니다
트리거를 사용하고 싶지 않습니다.
대답은 우리가 대신 트리거의 OUTPUT
절을 사용할 수있다 :
USE AdventureWorks2012;
GO
IF OBJECT_ID('dbo.vw_ScrapReason','V') IS NOT NULL
DROP VIEW dbo.vw_ScrapReason;
GO
CREATE VIEW dbo.vw_ScrapReason
AS (SELECT ScrapReasonID, Name, ModifiedDate
FROM Production.ScrapReason);
GO
CREATE TRIGGER dbo.io_ScrapReason
ON dbo.vw_ScrapReason
INSTEAD OF INSERT
AS
BEGIN
--ScrapReasonID is not specified in the list of columns to be inserted
--because it is an IDENTITY column.
INSERT INTO Production.ScrapReason (Name, ModifiedDate)
OUTPUT INSERTED.ScrapReasonID, INSERTED.Name,
INSERTED.ModifiedDate
SELECT Name, getdate()
FROM inserted;
END
GO
INSERT vw_ScrapReason (ScrapReasonID, Name, ModifiedDate)
VALUES (99, N'My scrap reason','20030404');
GO
일부 행이 업데이트되었지만 트리거를 사용하지 않으려는 경우 표에 행을 자동으로 삽입하려는 경우 원하는 내용입니까? – Lamak
[OUTPUT]을 살펴보십시오 (http://technet.microsoft.com/us-en/library/ms177564.aspx) – bummi
트리거를 사용하지 않으려는 경우 원하는 작업을 트리거 할 수있는 항목 ? –