>데이터 베이스 >MySQL 튜토리얼 >SQL Server 트리거는 어떻게 새 행의 데이터를 다른 테이블에 삽입할 수 있습니까?

SQL Server 트리거는 어떻게 새 행의 데이터를 다른 테이블에 삽입할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-25 03:16:09204검색

How Can SQL Server Triggers Insert Data from New Rows into Another Table?

SQL Server 트리거를 사용하여 새 행의 값을 다른 테이블에 삽입

SQL Server에서 트리거를 구현하면 데이터 작업을 자동화하는 편리한 방법을 제공합니다. 특정 이벤트에. 질문에 설명된 대로 aspnet_users 테이블에 트리거를 설정하여 새로운 삽입을 캡처하고 다른 테이블에 관련 정보를 채울 수 있습니다.

새로 삽입된 행에서 값을 검색하기 위해 SQL Server는 inserted 삽입된 행의 열과 데이터가 포함된 의사 테이블입니다. 이렇게 하면 타임스탬프 비교와 같이 잠재적으로 신뢰할 수 없는 방법에 의존할 필요가 없습니다.

다음 SQL 문은 새 행의 user_id 및 user_name 값을 별도의 테이블에 삽입하는 트리거를 생성하는 방법을 보여줍니다.

CREATE TRIGGER yourNewTrigger ON yourSourcetable
FOR INSERT
AS

INSERT INTO yourDestinationTable
        (col1, col2    , col3, user_id, user_name)
    SELECT
        'a'  , default , null, user_id, user_name
        FROM inserted

go

이에는 예:

  • yourNewTrigger는 트리거에 할당하는 이름입니다.
  • yourSourcetable은 트리거가 실행될 테이블의 이름입니다. 삽입 시 실행됩니다.
  • yourDestinationTable은 값을 삽입하려는 테이블의 이름입니다.

코드는 삽입된 의사 테이블을 사용하여 새 행의 user_id 및 user_name 열에 액세스합니다. 또한 대상 테이블 구조에 필요한 추가 열 값('a', 'default' 및 null)을 지정합니다.

정의되면 이 트리거는 yourSourcetable 테이블에 새 레코드가 추가될 때마다 자동으로 실행됩니다. , 최소한의 수동 개입으로 해당 데이터가 yourDestinationTable 테이블에 추가되도록 합니다.

위 내용은 SQL Server 트리거는 어떻게 새 행의 데이터를 다른 테이블에 삽입할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.