내 질문에 특히 우리가 복제 또는 더 구체적으로 LIKE 연산자 또는 SELECT 절의 도움으로 테이블의 복사본을 만드는 데 사용하는 접근법에 대해 이전 테이블에서 모든 제약 조건을 복사입니까? 이 위의 문이 oldTable에서 정확한 작업 클론을 만들거나 그냥 newTable에 대한 oldTable에서 구조를 만드는 것입니다 경우LIKE 또는 SELECT 절 및 CONSTRAINTS 동작을 사용하여 테이블 만들기?
CREATE TABLE newTable LIKE oldTable;
또는
CREATE TABLE newTable AS (SELECT * FROM oldTable) WITH NO DATA;
설명하십시오.
복제본을 말하면 모든 제약 조건이 적용되는 oldTable의 새로운 작업 복사본을 만들어야한다고 생각합니다. 예를 들어 아래와 같이 정의 된 내 TIMESTAMP 열에 대한 것입니다.
LAST_UPDATE_TS TIMESTAMP NOT NULL GENERATED BY DEFAULT FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP;
내 newTable의 LAST_UPDATE_TS는 (는) 이전 테이블에서 작동 했습니까?
우리가 각 열에 대해 가질 수있는 제약 조건과 유형은 여러 가지가 있습니다. 따라서 위에서 설명한 것처럼 테이블을 생성 한 후 또는 나중에 수동으로 적용하면 좋은 옵션으로 남아 있지 않습니다. 설명 해주십시오. 감사합니다 :)
감사 디트
5,3
. 그것은 완벽하고 확실히 작동 할 것입니다. 내 질문은 실제로이 시점 이후에 시작됩니다. 우리가이 테이블을 만들었습니다. 이 테이블은 모든 제약 조건에서 잘 작동합니까? 옛날 식탁에서 일하는 동안? 또는 우리 자신의 제약 조건을 한 번 추가해야합니까? – Superman업데이트 된 답변을 선택하십시오. – Aditya
안녕 슈퍼맨, 그냥 테이블의 생성을 테스트하고 결과를 확인하는 방법에 대해. 그렇다면 작동 여부를 확실히 알 수 있습니다. BTW, 기존 데이터베이스에서 ddl을 만들 수있는 도구가 있습니다. ddl을 사용하여 새 테이블을 만들 수 있습니다. –