내가 테이블 Tb에 이미 3 개의 열 A, B, C가 있다고 가정 해 보겠습니다. B와 C 사이에 새로운 열 M을 추가하고 싶습니다. 어떻게해야합니까? A B의 M C와 NOT A B C 형 M - Oracle 11g express - 열이 삽입되는 위치를 선택 하시겠습니까?
M을 추가 한 후, 내 표는 같이해야합니까?
0
A
답변
3
간단한 대답은 할 수 없다는 것입니다. 열은 항상 끝에 추가됩니다. 그러나 쿼리의 열과 DML에 항상 명시 적으로 열을 나열해야하므로 테이블의 열 순서는 신경 쓰지 않아야합니다. 그리고 항상 인터페이스 레이어 (예 :보기)가 있어야합니다. 여기서 순서가 중요한 경우 적절한 위치에 새 열을 추가 할 수 있습니다. 당신이 정말로 결정하는 경우
, 당신은, 새로운 열 순서로 새 테이블을 만들고 새 테이블로 데이터를 이동, 이전 테이블을 삭제하고 새 테이블의 이름을 바꿀 수 있습니다. 테이블에서 인덱스, 제한 조건 또는 트리거를 다시 작성해야합니다. 나는 그것이 명시 판의 옵션인지 확실하지 않다
ALTER TABLE tb
ADD(M NUMBER);
CREATE TABLE tb_new
AS
SELECT a, b, m, c
FROM tb;
DROP TABLE tb;
ALTER TABLE tb_new
RENAME TO tb;
같은 뭔가 (나는 그것을 의심하는 경향이 있지만 검증하기 편리한 XE 데이터베이스가 없습니다)하지만 당신은 또한 잠재적으로 DBMS_REDEFINITION
package을 사용할 수 있습니다 그 예에서 바바라가 보여 주듯이. 오라클은 기본적으로 위에서 수행 한 것과 동일한 작업을 수행하지만 애플리케이션이 작업 중에 테이블에 계속 액세스 할 수 있도록 일부 구체화 된 뷰 로그를 사용합니다.
자신이 테이블의 컬럼의 순서에 대한 배려 발견하면,하지만 당신은 당신이 아니라 하나의 경로에 전진을 계속보다 잘못된 무슨 짓을했는지 알아 내기 위해 정지 해제 훨씬 더 낫다. 예외적으로 테이블의 열의 실제 순서를 신경 써야한다는 것은 드문 경우입니다.
관련 문제
- 1. Oracle XE 및 Oracle 11g
- 2. PL/SQL 코드를 Oracle 11g Express Edition으로 실행 중 - 오류
- 3. Oracle 11G LIMIT/OFFSET
- 4. Oracle 11g Sys Query
- 5. Oracle 11g 압축
- 6. TransactionTimeout with Oracle 11g
- 7. Oracle 11g Report 문제
- 8. JDBC Thin Oracle 11g
- 9. Data Guard Oracle 11g
- 10. ODP.net 및 Oracle 11g
- 11. Oracle 11g 다중 인스턴스
- 12. Oracle Express Edition 시작하기?
- 13. Oracle 9i Client는 Oracle 11g Server와 호환됩니까?
- 14. Oracle 11g 서버에 파일 업로드
- 15. Mac 용 Oracle 10g/11g
- 16. Oracle 11g Date New 기능
- 17. Oracle 11g and Collect Function
- 18. Oracle weblogic 액세스 제어 11g
- 19. Hibernate에서 Oracle 11g 가상 컬럼 매핑하기
- 20. Oracle 11g 표준 에디션에 대한 AUDIT 명령
- 21. Oracle 10g-Express Query
- 22. Oracle Application Express 차트
- 23. oracle express detatach
- 24. Oracle 10g Express/APEX
- 25. Oracle 10g-Express Query
- 26. Oracle 11g 클라이언트가 10g 및 11g 데이터베이스에 모두 연결
- 27. Oracle 11g : 프로 시저 내에서 커서 사용
- 28. Oracle 11g EE에서 생성 된 덤프에서 Oracle 11g XE의 구성표를 복원 할 수 없습니다.
- 29. Oracle Database 11g 용 Hibernate Dialect?
- 30. Asp.Net을 사용하여 Oracle 11g 데이터베이스에 연결하는 방법
justin - 열의 물리적 순서가 중요 해지는 드문 경우를 보여 줄 수 있습니까? –
@breadbutter - 대부분의 경우 사람들은 잘못 작성된 응용 프로그램 때문에 열 순서에 신경을 썼습니다. 오라클이 제공 할 수있는 압축 비트를 활용하기 위해 테이블 끝에 일반적으로 'NULL'이 될 여러 열을 넣으려는 경우 잘 만들어진 응용 프로그램이 테이블의 열 순서에 신경을 쓸 수 있습니다 케이스. 그러나 테이블에 대부분 NULL 열이 수십 개 있거나 어디에서 몇 바이트의 저장 공간을 절약 할 수 있는지 신경 쓰는 데이터 모델을 사용하는 것은 극히 드뭅니다. –