programing

Oracle에서 키워드 뒤에 테이블 변경

sourcejob 2023. 8. 12. 10:13
반응형

Oracle에서 키워드 뒤에 테이블 변경

ALTER TABLE testTable ADD column1 NUMBER(1) DEFAULT 0 NOT NULL AFTER column2;

Oracle에서도 SQL 구문을 사용할 수 없는 이유는 무엇입니까?위 명령은 MySql에서 작동합니다.작동하는 것과 동등한 것을 줄 수 있습니까?


Error report:
SQL Error: ORA-01735: invalid ALTER TABLE option
01735. 00000 -  "invalid ALTER TABLE option"

제가 제공한 Oracle 명령어에 after 절을 사용할 수 있는 방법이 있는지 문의드립니다.

SQL은 관계형 대수이기 때문입니다.테이블 내의 "위치" 열이 어디에 있는지는 전혀 중요하지 않습니다. 열이 존재한다는 것만 중요합니다.

Oracle 환경에서 이를 작동시키려면 다음 기능을 제거해야 합니다.after다음에 대한 오라클 문서alter table여기에 있지만 요약하면 다음과 같습니다.

alter table testTable
    add ( column1 number(1) default 0 not null )

없습니다 after의 조항.alter table지휘권

Oracle은 테이블 중간에 열을 추가하는 것을 지원하지 않고 끝에만 열을 추가합니다.데이터베이스 설계 및 앱 기능은 데이터베이스 스키마의 열 순서에 따라 달라지지 않아야 합니다.결국 선택 문에서 주문을 항상 지정할 수 있습니다.

그러나 어떤 이유로 테이블 중앙에 새 열이 있어야 하는 경우 해결 방법이 있습니다.

CREATE TABLE tab1New AS SELECT 0 AS col1, col1 AS col2 FROM tab1;
DROP TABLE tab1 PURGE;
RENAME tan1New to tab1;

어디서SELECT 0 AS col1새 열을 선택한 다음 원래 표에서 필요에 따라 다른 열을 지정합니다.집어넣어요SELECT 0 AS col1당신이 원하는 순서대로 적절한 장소에서.

그런 다음 원하는 데이터 유형인지 확인하기 위해 열에 대해 대체 가능한 문을 실행할 수 있습니다.

사용해 보십시오.

ALTER TABLE testTable ADD column1 NUMBER(1) DEFAULT 0 NOT NULL

언급URL : https://stackoverflow.com/questions/8922638/alter-table-after-keyword-in-oracle

반응형