[SQL] MS SQL 서버에 그들을 기존 테이블에 열을 추가하고 고유 번호를
SQLMS SQL 서버에 그들을 기존 테이블에 열을 추가하고 고유 번호를
나는 기존의 레거시 데이터베이스에 열을 추가 할 내가 각 레코드에 다른 값을 할당 할 수있는 절차를 작성합니다. 그것을 위해 데이터를 컬럼을 추가하고 자동 생성 비슷 해요.
마찬가지로, 만약 내가 "ID"(번호) 나는 다음 각 레코드에 고유 한 값을 초기화 할라는 새 열을 추가 할 수 있습니다. 그래서, 내 ID 열은 말 1 천 레코드를해야합니다. 어떻게 그렇게 할 수 있습니까?
해결법
-
==============================
1.이 데이터베이스에 있지만 SQL Server에 대한 의존한다, 다음과 같이 얻을 수있다 :
이 데이터베이스에 있지만 SQL Server에 대한 의존한다, 다음과 같이 얻을 수있다 :
alter table Example add NewColumn int identity(1,1)
-
==============================
2.당신은 당신이 사용중인 SQL 데이터베이스에 게시 된 경우는 도움이 될 것이다. MySQL을 위해 당신은 아마 AUTO_INCREMENT를 원하는 :
당신은 당신이 사용중인 SQL 데이터베이스에 게시 된 경우는 도움이 될 것이다. MySQL을 위해 당신은 아마 AUTO_INCREMENT를 원하는 :
ALTER TABLE tableName ADD id MEDIUMINT NOT NULL AUTO_INCREMENT KEY
이 소급하지만 값을 적용하면 확실하지. 그렇지 않으면 당신은 단지 (긴 전혀 다른 데이터베이스에 쓰고 하나로서)과 세트를 사용 LAST_INSERT_ID () 함수는 ID 값을 생성하지 않으려면 저장 프로 시저 또는 간단한 프로그램에서 값을 반복 할 수 있어야한다 .
-
==============================
3.Oracle의 경우 아래처럼 뭔가를 할 수
Oracle의 경우 아래처럼 뭔가를 할 수
alter table mytable add (myfield integer); update mytable set myfield = rownum;
-
==============================
4.그리고 포스트 그레스 상당 (두 번째 줄은 "ID"키를 될 수 원하는 경우에만 필수입니다)
그리고 포스트 그레스 상당 (두 번째 줄은 "ID"키를 될 수 원하는 경우에만 필수입니다)
ALTER TABLE tableName ADD id SERIAL; ALTER TABLE tableName ADD PRIMARY KEY (id);
-
==============================
5.그냥 ALTER TABLE 일을해야 사용. 적절한 유형 및 IDENTITY 플래그 열을 추가하고 트릭을 할해야
그냥 ALTER TABLE 일을해야 사용. 적절한 유형 및 IDENTITY 플래그 열을 추가하고 트릭을 할해야
는 ALTER TABLE 구문에 대한이 MSDN 문서 http://msdn.microsoft.com/en-us/library/aa275462(SQL.80).aspx을 확인
-
==============================
6.SQL 서버에 고유 식별자 데이터 형식이 시도
SQL 서버에 고유 식별자 데이터 형식이 시도
Alter table table_name add ID UNIQUEIDENTIFIER not null unique default(newid())
당신은 열 사용이 중 기본 키를 만들려면
ALTER TABLE table_name ADD CONSTRAINT PK_name PRIMARY KEY (ID);
-
==============================
7.각 데이터베이스는 일련 번호를 추가 할 수있는 다른 방법이 같은 데이터베이스에 따라 다릅니다. 나는 다음 데이터를 읽고 시퀀스와 ID를 업데이트 할 그루비 / 파이썬 / 등의 DB 스크립트를 작성 열을 추가 할 수있는 테이블을 변경합니다. 데이터가 설정되면, 나는 테이블에 시퀀스를 추가 할 것이라고 상단 번호 뒤에 시작됩니다. 데이터가 설정되면, 올바르게 기본 키를 설정합니다.
각 데이터베이스는 일련 번호를 추가 할 수있는 다른 방법이 같은 데이터베이스에 따라 다릅니다. 나는 다음 데이터를 읽고 시퀀스와 ID를 업데이트 할 그루비 / 파이썬 / 등의 DB 스크립트를 작성 열을 추가 할 수있는 테이블을 변경합니다. 데이터가 설정되면, 나는 테이블에 시퀀스를 추가 할 것이라고 상단 번호 뒤에 시작됩니다. 데이터가 설정되면, 올바르게 기본 키를 설정합니다.
-
==============================
8.원하지 않는 경우 새 열 유형의 IDENTITY (자동 증가)이 될 수 있습니다, 또는 당신은 당신이 유형 INT NULL의 열을 추가 한 다음처럼 채울 수 있습니다, 당신의 행 번호 순서에 대해 구체적으로 할 이. 내 예를 들어, 새로운 열이 MyNewColumn라고하며 테이블에 대한 기존의 기본 키 열이 MyPrimaryKey이라고합니다.
원하지 않는 경우 새 열 유형의 IDENTITY (자동 증가)이 될 수 있습니다, 또는 당신은 당신이 유형 INT NULL의 열을 추가 한 다음처럼 채울 수 있습니다, 당신의 행 번호 순서에 대해 구체적으로 할 이. 내 예를 들어, 새로운 열이 MyNewColumn라고하며 테이블에 대한 기존의 기본 키 열이 MyPrimaryKey이라고합니다.
UPDATE MyTable SET MyTable.MyNewColumn = AutoTable.AutoNum FROM ( SELECT MyPrimaryKey, ROW_NUMBER() OVER (ORDER BY SomeColumn, SomeOtherColumn) AS AutoNum FROM MyTable ) AutoTable WHERE MyTable.MyPrimaryKey = AutoTable.MyPrimaryKey
이 SQL Server 2005에서 작동 이후, 즉 버전을 지원하는 ROW_NUMBER ()
from https://stackoverflow.com/questions/108211/add-a-column-to-existing-table-and-uniquely-number-them-on-ms-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 최대 절전 모드 createSQlquery 결과에서 SQL 열 이름을 사용 (0) | 2020.06.21 |
---|---|
[SQL] 십자가의 용도는 무엇을 가입입니까? (0) | 2020.06.21 |
[SQL] 여러 고객과 DB 큐으로 SQL Server를 사용 (0) | 2020.06.21 |
[SQL] 가입에서 SQL : 그것은 가능한 한 모든 열을 접두사로 '접두사 *.'? (0) | 2020.06.20 |
[SQL] T-SQL에서 테이블 변수를 통해 할 수 있습니까 루프? (0) | 2020.06.20 |