>데이터 베이스 >Oracle >Oracle에서 테이블 필드 유형을 수정하는 방법

Oracle에서 테이블 필드 유형을 수정하는 방법

青灯夜游
青灯夜游원래의
2021-12-24 14:25:3752935검색

Oracle에서는 "alter table" 문을 사용하여 테이블 필드 유형을 수정할 수 있습니다. 이 문의 기능은 원래 테이블의 구조를 변경하는 것입니다. 구문은 "alter table table name 수정(필드 이름 새 유형)입니다. 이름);" 진술.

Oracle에서 테이블 필드 유형을 수정하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

테이블 필드 데이터 유형 수정

tb라는 테이블, name이라는 필드 세그먼트, nchar(20) 데이터 유형이 있습니다.

1 필드 데이터가 비어 있다고 가정하면 어떤 필드 유형이 변경되더라도 직접 실행할 수 있습니다.

alter table tb modify (name nvarchar2(20));

2. 필드에 데이터가 있다고 가정하면 nvarchar2로 변경하여 직접 실행할 수 있습니다. (20):

alter table tb modify (name nvarchar2(20));

3. 필드에 데이터가 있다고 가정하고 varchar2(40)로 변경하면 다음과 같은 팝업이 표시됩니다. "ORA-01439: To Change the data type, the Column to be Modified must beempt". 이 경우 이 문제를 해결하려면 다음 방법을 사용해야 합니다. :

/*원래 필드 이름을 name_tmp로 수정*/

alter table tb rename column name to name_tmp;

/*원래 필드와 이름이 같은 필드 이름 추가 name*/

alter table tb add name varchar2(40);

/*원래 필드 name_tmp 데이터를 추가된 필드 이름으로 업데이트*/

update tb set name=trim(name_tmp);

/*업데이트 후 원래 필드 name_tmp 삭제*/

alter table tb drop column name_tmp;

3. 필드 추가 및 필드 삭제

    --添加新的字段

    alter table lyz_emp add(e_age number(3));

    --添加多个新的字段

    alter table lyz_emp add(

    e_age number(3),

    e_age_tmp,varchar2(20));

    --获取表字段:

    select *

    from user_tab_columns

    where Table_Name='lyz_emp'

    order by column_name

    --删除表中的字段

    alter table lyz_emp drop column e_age;

추천 튜토리얼: "Oracle Tutorial"

위 내용은 Oracle에서 테이블 필드 유형을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.