How do I use an INSERT statement's OUTPUT clause to get the identity value?
If I have an insert statement such as:
INSERT INTO MyTable
(
Name,
Address,
PhoneNo
)
VALUES
(
'Yatrix',
'1234 Address Stuff',
'1112223333'
)
설정 방법@var INT
새로운 행의 ID 값(호칭)으로 이동합니다.Id
OUTPUT 절을 사용합니까?삽입된 퍼팅 샘플을 본 적이 있어요.예를 들어 테이블 변수에 이름을 지정하지만 테이블 변수가 아닌 변수에 이름을 지정할 수 없습니다.
해봤어요OUPUT INSERTED.Id AS @var
,SET @var = INSERTED.Id
둘 다 효과가 없었습니다.
You can either have the newly inserted ID being output to the SSMS console like this:
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
이것은, 예를 들면 「」로부터도 사용할 수 있습니다.C#, ID를 호출 앱으로 되돌려야 할 경우 SQL 쿼리를 실행하기만 하면 됩니다..ExecuteScalar()
(의 일부.ExecuteNonQuery()
)의 결과를 읽습니다.ID
뒤로.
또는 새로 삽입된 파일을 캡처해야 하는 경우ID
T-SQL 내부(예를 들어 추후 처리를 위해)에 테이블 변수를 작성해야 합니다.
DECLARE @OutputTbl TABLE (ID INT)
INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')
이렇게 하면 여러 개의 값을 다음과 같이 입력할 수 있습니다.@OutputTbl
그리고 그것들을 더 처리해 주세요.또한 "일반" 임시 테이블을 사용할 수도 있습니다.#temp
또는 여기서 "출력 대상"으로 "실제" 영속적인 테이블도 사용할 수 있습니다.
ReferenceURL : https://stackoverflow.com/questions/10999396/how-do-i-use-an-insert-statements-output-clause-to-get-the-identity-value
'programing' 카테고리의 다른 글
IIS7.5의 정적 파일 핸들러가 스크립트를 처리하지 않음 (0) | 2023.04.23 |
---|---|
DataTable을 통해 반복하는 방법 (0) | 2023.04.23 |
순서 무시로 동일한 두 목록 개체 비교 (0) | 2023.04.23 |
Objective-C에서의 문자열 치환 (0) | 2023.04.23 |
iPhone 앱에서 iOS 7 상태 표시줄을 iOS 6 기본 스타일로 되돌리나요? (0) | 2023.04.23 |