Oracle 데이터베이스 테이블 의 필드 순서 수정 방법

머리말
얼마 전에 어떤 사람 이 나 에 게 Oracle 의 표 필드 순서 조정 에 관 한 질문 을 했다.문 제 는 표 구 조 를 설계 한 후에 후기 에 표 에 필드 를 추가 해 야 한다 면 기본적으로 이 필드 를 표 의 마지막 에 놓 고 필드 가 매우 많 으 며 우 리 는 관련 성 이 있 는 필드 를 함께 놓 으 려 고 할 때 필드 순 서 를 수정 해 야 한 다 는 것 이다.순 서 를 수정 하기 전에 오 라 클 데이터베이스 시트 에 필드 를 어떻게 추가 하 는 지 살 펴 보 자.
추가 필드:
필드 추가 문법:alter table tablename add (column datatype [default value][null/not null],….);실례
표 구조 만 들 기:

create table test1
(id varchar2(20) not null);
필드 추가:

alter table test1
add (name varchar2(30) default ‘   ' not null);
SQL 문 구 를 사용 하여 세 필드 를 동시에 추가 합 니 다.

alter table test1
add (name varchar2(30) default ‘   ' not null,

age integer default 22 not null,

has_money number(9,2)

);
필드 순서 변경
첫 번 째 원시 방법:
재건 축 을 지 웠 다.이런 방법 은 간단 하고 거 칠 지만 과학적 이지 않다.

--             
create table A_2 as select (column1,colum2,……A     ) from A_1 ;

--   A_1
drop table A_1;

--  A_1  A_2            
create table A_1 as select * from A_2;

--     A_2
drop table A_2;
이런 방법 은 필드 가 비교적 적은 표 에 있어 서 는 그다지 번 거 롭 지 않 지만 필드 가 비교적 많은 표 에 있어 서 는 힘 이 든다.
두 번 째 방법(추천):
1.우선 sys 또는 system 권한 이 필요 합 니 다.
2.표 변경 이 필요 한 ID 조회

select object_id
 from all_objects
 where owner = 'ITHOME'
 and object_name = 'TEST';
주의:ITHOME 는 사용자 이 고,TEST 는 변경 할 표 이 며,표 이름 은 대문자 로 해 야 합 니 다.
3.ID 를 통 해 이 표 의 모든 필드 의 순 서 를 찾 습 니 다.

select obj#, col#, name 
 from sys.col$ 
 where obj# = '103756' order by col#

4.순서 수정

update sys.col$ set col#=2 where obj#=103756 and name='AGE';
update sys.col$ set col#=3 where obj#=103756 and name='NAME';
또는 세 번 째 단계 의 문장 뒤에 직접for update을 붙 여 수정 합 니 다.
마지막 으로 commt 제출 및 Oracle 서비스 재 개
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기