기술과 감성, 그리고.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'id'에 해당하는 글(1)
2010/04/14   SQL에서 최근에 입력된 ID값 가져오는 방법


SQL에서 최근에 입력된 ID값 가져오는 방법

SQL의 테이블(table)에서 ID값을 자동으로 증가하도록 설정한 경우, 최근에 삽입(INSERT)한 레코드(record)의 ID를 얻어와야 하는 경우가 있다. 이 값을 참조한 외래키(foreign key)를 사용해야 하는 경우가 대표적이다.

이때 사용할 수 있는 방법은 아래와 같다.

  • @identity 변수
  • SCOPE_IDENTITY() 함수
  • IDENT_CURRENT() 함수


1. @identity 변수
해당 구역 뿐만 아니라, 함수 호출등으로 인해 다른 테이블에 삽입된 것까지 포함하는 최신 레코드의 ID를 얻어온다. 이 때문에 해당 테이블에 트리거(trigger)가 걸려있고, 그 트리거에서 또 다른 테이블에 레코드를 삽입하는 경우 문제가 발생할 수 있다.

2. SCOPE_IDENTITY() 함수
현재 구역의 마지막으로 삽입된 테이블의 ID를 자겨오기 때문에 대부분의 경우에 대한 사용을 추천할 수 있다.

3. IDENT_CURRENT() 함수
괄호("()")안에 지정된 테이블의 마지막 레코드 ID를 가져오지만 세션(session)에 대한 구분이 없다. 즉 다른 세션에서 또다시 레코드가 삽입되면 그 값은 기대값과 다를 수 있다.

다음은 예제 SQL문이다.

USE AdventureWorks;
GO

--Display the value of LocationID in the last row in the table.
SELECT MAX(LocationID) FROM Production.Location;
GO

INSERT INTO Production.Location (Name, CostRate, Availability, ModifiedDate)
VALUES ('Damaged Goods', 5, 2.5, GETDATE());
GO

SELECT @@IDENTITY AS 'Identity';
GO

--Display the value of LocationID of the newly inserted row.
SELECT MAX(LocationID) FROM Production.Location;
GO

크리에이티브 커먼즈 라이선스
Creative Commons License
Tag : ,


BLOG main image
아직 산을 오르는 이유는 산 만한 사람을 만나지 못했기 때문이고 산 만한 사람이 되지 못했기 때문이다.
 Notice
 Category
분류 전체보기 (163)
일상을 늘어놓다 (43)
나를 찾아 떠나다 (53)
마음을 데우다 (18)
최고를 꿈꾸다 (32)
Resume (16)
 TAGS
FA저널 기고문 FA Jurnal MVC패턴 MVC NGF 프레임워크 Pattern MVVM 잡지
 Calendar
«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
 Recent Entries
동료애, 팀웍(teamwork) 그리고 파트너쉽(P.. (2)
MVC패턴과 그 가계(家系) (4)
[리쿠르트] Trust yourself? or Trust only..
[오감도] S1. His Concern
[패턴] 정의와 의의
[소설] 신의 축복이 있기를, 로즈워터씨
[잡지 기고문] NGF 그리고 프레임워크
이정표
항구
하늘, 초보의 습작품.
 Recent Comments
좋은글 감사합니다...
lee - 14:34
MVVM에서 모델하고..
lee - 13:59
감사합니다 ^^ 정말..
좡이 - 01/12
감사합니다 좋은 글..
디키썬 - 2011
잘 보았습니다~ 페..
김영훈 - 2011
잘보았습니다. 멋진..
주연 - 2011
고맙습니다 ^^
쎄미 - 2011
멋진 글이네요.
dd - 2010
김영하! 아, 정말 말..
Bailar - 2008
어릴때 단양에 다녀..
짱구눈썹 - 2008
 Recent Trackbacks
 Archive
2011/01
2010/08
2010/04
2010/02
2009/03
 Link Site
OnOffMix
전병선, ENSOA
이건복, .NETXPERT
안재우, .NETXPERT
김유철, .NETXPERT
이동범, .NETXPERT
강성재, Microsoft
SmartPlace
류한석, SoftBank
황재선, SoftBank
황순영, Feelanet
정용주, Miracom Inc.
노현종, Miracom Inc.
 Visitor Statistics
Total : 69,432
Today : 8
Yesterday : 18
rss