2013-04-29 4 views
2

SQL Server 2008 R2에 1 억 개의 레코드가있는 테이블이 있습니다.열 형식을 수정하고 데이터를 바꿉니다.

하나의 열은 다른 테이블의 외래 키입니다. 난 varcharint에서 컬럼 AccessToLab 변경 및 삭제와 테이블을 재현없이 1에서 AllowDeny-2의 값을 변경할 수있는 방법

Table Student 
ID Name AccessToLap 
1 Mike 1 

Table AccessType 
ID Name 
1 Allow 
2 Deny 

.

답변

4
alter table Student add AccessType varchar(50); 

update s 
set  AccessType = at.Name 
from Student s 
join AccessType at 
on  at.ID = s.AccessToLap; 

alter table Student drop column AccessToLap; 

exec sp_rename 'Student.AccessType', 'AccessToLap', 'COLUMN' 
+2

및 ... EXEC sp_rename을 'Student.AccessType', 'AccessToLap가', 'COLUMN' –

+0

@IanKenney : 당신이 열 이름을 변경하는 이유 좋은 점은, – Andomar

+0

을 추가? – Maro

관련 문제