테이블에 마지막 ID를 삽입하려고합니다. 내가 Sql Server - 마지막 ID를 테이블에 삽입하는 방법
SELECT IDENT_CURRENT('TABLE')
을 사용하고 있었다 그러나 문제는 그것이 마지막으로 삽입 된 ID를 반환하지 않는다는 것입니다 , 그것은 최대 삽입 된 ID를 반환합니다. 예를 들어
, 내가 할 경우 :
INSERT INTO 'TABLA' (ID) VALUES (100)
SELECT IDENT_CURRENT('TABLE') returns 100
하지만를 다음 내가
INSERT INTO 'TABLA' (ID) VALUES (50)
SELECT IDENT_CURRENT('TABLE') returns 100
을하고 난 50
내가 특정 테이블의 ID를 필요로 받기를 원한다면, 그리고 ID를 다이나믹하게 생성하므로 ID가 아닙니다. 어떻게하면됩니까?
'IDENT_CURRENT'는 자동으로 증가하는 열을 예상합니다.수동으로 ID를 삽입 할 수 있다면 자동 증가 숫자를 사용하지 않거나 자동 증가가 꺼져 있습니다 (SET IDENTITY_INSERT 사용). – SchmitzIT
예, ID를 삽입하기 전에 ID를 생성 할 수 있어야하므로 IDENTITY_INSERT를 Off로 설정해야합니다. –
- 항상 나쁜 생각입니다. 자동 생성 된 ID는 정확히 일치해야합니다. ID 번호를 수동으로 생성해야하는 경우 장기적으로 관리적인 문제가 발생할 수 있습니다. 어쨌든 IDENT_CURRENT를 사용하여 마지막으로 삽입 된 ID를 검색 할 수는 없습니다. 자동 신원을 무시하도록 요구하는 비즈니스 프로세스를 검토하는 것이 좋습니다. 그렇지 않으면 Phil Sandlers의 솔루션으로 이동하십시오. – SchmitzIT