Programming/MS SQL Server

[MS SQL SERVER] INSERT - OUTPUT 구문

hoojiv 2021. 10. 28. 16:00
728x90

테이블에 데이터를 입력한 후 OUTPUT 값을 리턴받을 수 있다.

아래처럼 테이블을 생성하고 데이터를 INSERT할 때 OUTPUT 구문을 사용하여 USERID를 리턴받도록 하였다.

USE UserLabs
GO
/*
DROP TABLE UserTbl
*/
CREATE TABLE UserTbl (
	USERID INT IDENTITY,
	NAME VARCHAR(10),
	AGE INT,
	ADDR VARCHAR(20)
) 
GO

INSERT INTO UserTbl 
	(NAME, AGE, ADDR)
OUTPUT inserted.USERID
VALUES ('Ken', '20', 'Seattle');

INSERT INTO UserTbl 
	(NAME, AGE, ADDR)
OUTPUT inserted.USERID
VALUES ('Terri', '21', 'Portland');

결과는 자동으로 생성되는 USERID 값이 리턴되었다.

아래처럼 여러 개의 ROW를 한꺼번에 입력하는 경우에도 OUTPUT 설정이 가능하고

OUTPUT 값으로도 1개 이상 설정이 가능하다.

INSERT INTO UserTbl 
	(NAME, AGE, ADDR)
OUTPUT inserted.USERID
	, inserted.NAME
VALUES ('Roberto', '20', 'North Bend')
	, ('Rob', '30', 'Bellingham')

728x90
LIST