>데이터 베이스 >MySQL 튜토리얼 >OUTPUT 절을 사용하여 INSERT 후 ID 값을 검색하려면 어떻게 해야 합니까?

OUTPUT 절을 사용하여 INSERT 후 ID 값을 검색하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-17 12:36:11575검색

How Can I Retrieve Identity Values After an INSERT Using the OUTPUT Clause?

OUTPUT 절을 사용하여 새로 생성된 ID 값에 액세스

ID 열이 포함된 테이블에 데이터를 삽입하려면 새로 생성된 ID를 검색해야 하는 경우가 많습니다. OUTPUT 절은 이를 수행하는 효율적인 방법을 제공하므로 추가 쿼리가 필요하지 않습니다.

접근 방법 1: 테이블 변수로 출력

이 방법은 ID 값을 선언된 테이블 변수로 지정합니다.

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT);

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl (ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

이제 @OutputTbl 변수에 생성된 ID가 저장됩니다.

접근 방법 2: 테이블이 아닌 변수에 대한 출력

특정 데이터베이스 시스템(예: SQL Server)은 테이블이 아닌 변수로 직접 출력을 지원합니다. 이는 보편적으로 지원되지 않습니다. 예를 들어 PostgreSQL은 대신 RETURNING을 사용합니다.

SQL 서버 예:

<code class="language-sql">DECLARE @ID INT;

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

ID는 @ID에 저장됩니다.

PostgreSQL 예:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
RETURNING Id INTO @ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

여기 @ID는 반환된 ID를 받습니다. RETURNING 절은 다른 시스템의 OUTPUT과 유사하게 작동합니다. 특정 데이터베이스 시스템에 따라 적절한 방법을 선택하세요.

위 내용은 OUTPUT 절을 사용하여 INSERT 후 ID 값을 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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