..


스폰서 링크

SQL Server의 정체성 열 사용 및 관리

빈센조 Gaglio 쓴 기사
3 3 페이지

가정 대신에 당신은 우리가 앞에서 언급했듯이, 이미 라인 번호를 수동으로 채워 왔으며, 신원 열 RifID를 설정 싶어요. 이 작업을 수행하는 것은 거기에 간단하게 직접적인 방법 (위에서 설명한 경우 등)하지만 우리는 일련의 단계를 실행합니다.

첫 번째는 원본 테이블의 이름을 바꾸고 대신 열 RifID에 대해 올바르게 설정 IDENTITY 속성과 테이블의 같은 dbo.Nazioni_Old 유엔으로 재현하는 것입니다






 TABLE dbo.Nazioni을 CREATE

 

   



 (코드 CHAR (2) NULL NOT,



    



 RifID INT IDENTITY (1.1)은 NULL NOT,

 

    



 이름 VARCHAR (50) NULL NOT);



이 없으면이 테이블에 ON로 IDENTITY_INSERT 속성을 설정해야하고 국가 Nazioni_Old 데이터의 전송을 진행합니다 (우리는 무엇이 일은 나중에 나타납니다)

 



 dbo.Nazioni dbo.Nazioni_Old에서 SELECT * I​​NTO INSERT

 

마지막으로 당신은 재산 IDENTITY_INSERT 테이블을 OFF 재설정해야합니다 그리고 당신은 Nazioni_Old 테이블을 지울 수 있습니다. 다음 단계에 대한 대안은 SQL Server 관리 스튜디오의 그래픽 도구를 사용하는 것입니다. 그냥 문제의 테이블에 클릭하고 디자인을 선택합니다

디자이너가 열 RifID를 선택하고 속성은 적절하게 음성 아이덴티티 사양의 값을 설정

우리는 Identity 열 (Column)과 함께 테이블에 행 삽입하려면 지금 돌아갑니다. 신원 열은 자동으로 채워진하고 해당 테이블에 우리가이 문서에서 이전에 만든 dbo.TabellaTest 것을 가정하는 테이블의 경우를 가져가라. ID (타입 정체성) 및 Desc1 desc2 : 그것은 3 개 항목으로 구성되어 있습니다. 다음과 같이이 테이블에 새 행을 삽입에 대한 진술은






 dbo.TabellaTest (Desc1, desc2)에 INSERT

 





 값 ( 'AAA', '테스트 TEXT');



이 예제에서, 테이블 이름 뒤에 이중 괄호에 동일한 입력하여 인구 수 컬럼의 이름을 지정하지만, 당신은 내가 Identity 열 (Column) (ID)의 이름을 삽입 것으로 나타났습 수 있습니다. 그것이 자동으로 채워집니다이 경우에는 강제 항목을 허용하지 않습니다 때문입니다. 다음과 같이 테이블에 행을 삽입하는 또 다른 방법은

 



 dbo.TabellaTest 값 ( 'AAA', '테스트 TEXT')에 삽입;

 

이 경우 필자는 SQL Server가 어떤 테이블의 Identity 열 (Column)가 있고 다른 열에 대해서만 값을 기대 알고 있기 때문에 인기를 컬럼의 목록을 작성 피할 있습니다. 사실, 우리는 다음을 수행하려고하면






 (ID, Desc1, desc2) dbo.TabellaTest 삽입







 값 (12, 'AAA', '테스트 TEXT');



우리는 오류 메시지가






 메시지 8101, 수준 16, 상태 1, 줄 1







 테이블 'dbo.TabellaTest'할 수있는 Identity 열 (Column)에 대한 명시적인 값

 





 단 열 목록에 지정하면 사용하고 IDENTITY_INSERT가 ON됩니다.



이 메시지는 우리가 이미 이전 예제에서 본 테이블에 대한 ON으로 IDENTITY_INSERT 속성을 설정해야함을 나타냅니다. 실제로,이 속성은 테이블에 ID를 컬럼에 값을 삽입을 허용 ON으로 설정됩니다.

사실, 우리는 쓸 경우

 



 dbo.TabellaTest ON SET IDENTITY_INSERT;

 

다음 재입국을 수행






 (ID, Desc1, desc2) dbo.TabellaTest 삽입







 값 (12, 'AAA', '테스트 TEXT');



이번 작전은 실패합니다.

삽입 후 원하는 행 또는 행은 OFF로 IDENTITY_INSERT를 재설정하는 것은 필요합니다

 



 dbo.TabellaTest OFF SET IDENTITY_INSERT;

 

행을 삭제 편리 Identity 열 (Column)이있는 테이블에서 행 삭제와 관련하여 자사의 정체성 값이 재사용되지 않습니다. 당신이 삭제 작업의 결과로 번호, 구멍을 피하기 위해 원한다면 따라서 IDENTITY_INSERT 속성을 통해 작업과 적절하게 누락된 값을 입력하는 것이 필요합니다.

같은 카테고리에 ...
E - 학습
MS 액세스 과정 MS 액세스 과정
쉽고 빠르게 데이터베이스를 만들고 관리하는 방법에 대해 알아보십시오. 2012년 6월 1일까지 -10 % 할인합니다.
코스 MySQL을 코스 MySQL을
오픈 소스 데이터베이스의 관리. 2012년 6월 1일까지 -15 % 할인.
코스 데이터베이스와 SQL 코스 데이터베이스와 SQL
관계형 데이터베이스 만들기 및 관리. 2012년 6월 1일까지 -15 % 할인.
스폰서 링크