2013-08-19 1 views
1

타사에서 데이터를 가져올 때 주 프로덕션 데이터베이스에서 데이터를 전송하는 데 사용되는 데이터베이스가 있습니다.데이터베이스 SQL Server 2005의 모든 테이블에 ID 열 추가

각 테이블에 Identity 열을 추가하고 싶습니다.

아래의 SQL이 단일 테이블에 대해 수행한다는 것을 알고 있습니다. 데이터베이스의 모든 테이블에 대해 어떻게 수행 할 수 있습니까? 당신은해야합니다

ALTER TABLE dbo.YourTable 
ADD Id INT IDENTITY(1,1) NOT NULL 

많은 감사

답변

2

는 한 번에 하나 개의 테이블을 수행하는 - 한 번에 모든 테이블에 그것을 할 "마술"방법이 없습니다. ,

SELECT 
    t.NAME, 
    'ALTER TABLE [' + SCHEMA_NAME(t.SCHEMA_ID) + '].[' + t.NAME + 
    '] ADD Id INT IDENTITY(1,1) NOT NULL' 
FROM 
    sys.tables t 

을 지금 &을 복사 : - 당신은 SQL 서버를 가질 수

sys.tables 카탈로그 뷰를 검사하여 해당 작업에 필요한 T-SQL 문을 생성하는 모든 테이블에 대해 해당 ID 열 Id을 호출 할 가정 이 명령문의 결과 행을 붙여넣고 데이터베이스에 대해 해당 행을 실행하면 완료됩니다!

+0

도움을 주셔서 감사합니다. – user9969

+0

"ALTER TABLE? ADD SQL_ID INT IDENTITY PRIMARY KEY"에 대해 어쨌든 찾았습니다. – user9969