2014-04-23 2 views
-3

30000 개가 넘는 행이있는 테이블이 있습니다.기본 키 자동 업데이트로 SQL 테이블 업데이트

이 유형의 출력이 필요한 SQL 쿼리를 사용하여 테이블을 업데이트해야합니다.

초기 테이블 : -

1 , 1 , a ,b 
    2 , 1 , b ,c 
    3 , 1 , c ,d 
    .... 
50 , 1 , b ,n 
51 , 2 , f ,y 
52 , 2 , g ,o 
53 , 2 , t ,t 
.... 
.... 
100, 2 , f, h 

출력은 다음과 같이해야한다 : - 우리가 기반으로 데이터를 입력하는 동안 자동 증분 변경해야입니다

1 , 1 , a ,b 
2 , 1 , b ,c 
3 , 1 , f ,r(new row) 
4 , 1 , c ,d 
.... 
51 , 1 , b ,n 
52 , 2 , f ,y 
53 , 2 , g ,o 
54 , 2 , r ,t(new row) 
55 , 2 , t ,t 
.... 
.... 
102, 2 , f, h 

그래서 기본적으로 첫 번째 열 (기본 키) 두 번째 열 (질문 Id의 몇 가지 유형).

이 질문 (SQL How to insert a new row in the middle of the table, MySQL syntax for inserting a new row in middle rows?, Insert data in the middle of any table)을 이미 보았지만 30000 개가 넘는 행을 포함하는 테이블을 가지고있는 반면 더 작은 테이블에 대한 솔루션을 제공합니다.

누구든지 내게 어떤 제안을 줄 수 있습니까?

참고 : - Microsoft SQL Server를 사용합니다.

+0

새로운 행을 삽입하기위한 논리는 무엇입니까 –

+0

제안은 ** 기본 키를 가지고 놀아 볼만한 것이 아닙니다. –

+0

테이블의 다른 위치에 약 100 개의 행을 입력해야합니다. 경우에도 단일 행을 추가하는 방법에 대한 아이디어를 얻을 수 있습니다, 나는 100 번 주위에 다른 데이터를 사용하여 쿼리를 실행할 수있을 것입니다. – mihir6692

답변

0

그럼 당신은이

SET IDENTITY_INSERT Table_Name ON 
    --Your insert queries over here 
    SET IDENTITY_INSERT Table_Name OFF 

을 사용하고 기본 키가 기본 키 컬럼에 대한 데이터가 고유해야 함을 의미 위반되지 않도록 할 수 있습니다.

관련 문제