Oracle では、「alter table」ステートメントを使用してテーブルのフィールド タイプを変更できます。このステートメントの機能は、元のテーブルの構造を変更することです。構文は「alter table table name edit (フィールド名 新しい型名); "ステートメント。
このチュートリアルの動作環境: 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: データ型が変更される場合、変更される列は空である必要があります。」 この場合、この問題を解決するには次のメソッドを使用する必要があります:
/*Modify元のフィールド名を name_tmp に*/
alter table tb rename column name to name_tmp;
/ *元のフィールド名と同じ名前のフィールド名を追加*/
alter table tb add name varchar2(40);
/*元のフィールド name_tmp データを追加したフィールドに更新しますフィールド名*/
update tb set name=trim(name_tmp);
/*更新後、元のフィールド名_tmp*/
alter table tb drop column name_tmp;
--添加新的字段 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 チュートリアル」
以上がOracleでテーブルフィールドの型を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。