문제

SQL Server (저는 SQL Server Noob)로 작업하고 있으며 테이블을 변경하려고합니다. 나는 원한다 CREATE TABLE LIKE 원래 테이블을 변경할 때 키와 제약 조건 및 SQL Server가 필요로하는 다른 모든 Rigamorole을 삭제하는 동안 데이터를 안전하게 저장하려면 해당 명령과 일치하는 것을 찾을 수 없었습니다.

도움이 되었습니까?

해결책

넌 할 수있어

mytable에서 * #mytable_tmp로 *를 선택하십시오

그런 다음 mytable을 수정하고 데이터를 다시 복사하십시오. 내가 본 다른 접근법은 새 테이블을 작성하는 것입니다.

그런 다음 필요한 마이그레이션을 수행하는 데이터를 복사하십시오. 그런 다음 원본 테이블을 떨어 뜨리고 mytable에서 이름 바꾸기를합니다.

또는 데이터베이스를 비교하고 차이 스크립트 또는 VSTS DB 에디션 (개발자와 함께 제공)을 생성하는 많은 탁월한 도구 중 하나를 얻을 수 있으며 프로젝트 파일에서 DB로 DIFF 스크립트를 수행 할 수 있습니다.

편집하다

select *를 mytable에서 #mytable로 실행하면 SQL Server는 #MyTable이라는 새 임시 테이블을 생성하여 각 열 및 데이터 유형과 일치하는 #MyTable이라는 새 임시 테이블을 생성합니다. 이 경우 우리는 *를 선택하고 있으므로 mytable과 일치합니다. 이것은 기본값, 제약 인덱스 또는 다른 항목을 복사하지 않는 열만 생성합니다.

다른 팁

같은 구조를 재현하고 싶습니까?

이건 어때

 SELECT *
 into test
 FROM myRealTable
 where 0=1

새 테이블에 데이터가 삽입되지 않습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top