2017-10-19 13 views
0

1 억 개의 행을 가진 프로덕션 테이블을 보유하고 있으며,보고 목적으로 하나의 추가 열을 숫자 (18,0)로 추가해야합니다. 그 테이블을 떨어 뜨리는 것과 함께 그 열을 추가하게하지 마라. 내가 데이터에 영향을 미치면서 이것을 할 수있는 다른 방법은 없을까?SQL 서버에 테이블을 삭제하는 Cant를 추가하십시오.

+0

으로 기본 값을 설정'table'을 변경합니다. 디자이너를 사용하고 * 특히 마지막 열 이외의 다른 위치에 "배치"하려는 경우 * 디자이너가 드롭/생성하도록 선택할 수 있습니다. –

답변

0

테이블을 삭제하지 않고도 열을 추가 할 수 있습니다. 당신이 열 NOT NULL를 원하는 경우

ALTER TABLE YourTable 
ADD SomeColumnName NUMERIC(18,0) 

UPDATE

당신은 그 다음, 첫번째 NULL을 허용 업데이 트를 통해 값을 설정할 수 있도록해야합니다, 그리고 마지막으로 NOT NULL에 열을 변경합니다.

또는 당신을 통해 그것을 할 경우를 추가 할 괜찮을 것 같은

ALTER TABLE YourTable 
ADD SomeColumnName DECIMAL(18,0) NOT NULL DEFAULT 1 
+0

그게 전부 야? 그게 내 표를 떨어 뜨리지 않고 새로운 열을 추가 만한다면 나는 행복 할거야. 한번만 해봐! 감사합니다 – SQLHunter

+0

나는 시도했지만 결과가 동일합니다 .... 내가 같은 통계를 실행할 때 변경 테이블 YourTable SomeColumnName 숫자 (18,0) 오류가 발생했습니다 메시지 4901, 수준 16, 상태 1, 줄 1 변경 TABLE은 null을 포함하거나 DEFAULT 정의가 지정된 열을 추가 할 수 있도록 허용합니다. 또는 추가되는 열은 ID 또는 시간 소인 열이거나 이거나 이전 조건 중 어느 것도 충족되지 않으면 표가 비어 있어야합니다. 이 칼럼의 추가 .... – SQLHunter

+0

ALTER TABLE [dbo]. [obligations_monthend_snapshots] ADD [417_number] 숫자 (18,0) NOT NULL – SQLHunter