この記事では主にOracleデータベーステーブルのフィールド順序を変更する方法を紹介します。変更方法を紹介する前に、まずOracleデータベーステーブルに新しいフィールドを作成する方法を詳しく紹介します。必要な方はサンプルコードを通じて、以下のエディターで学習してみましょう。皆さんのお役に立てれば幸いです。
前書き
少し前に、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);
1 つの SQL ステートメントを使用して 3 つのフィールドを同時に追加:
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;
この方法は、フィールドが少ないテーブルではそれほど面倒ではありませんが、フィールドが多いテーブルでは困難です。
2 番目の方法 (推奨):
1. まず、操作するには sys またはシステム権限が必要です
2. 変更する必要があるテーブルの ID をクエリします
select object_id from all_objects where owner = 'ITHOME' and object_name = 'TEST';
注: ITHOME はユーザー、TEST は変更するテーブルです。テーブル名は大文字にする必要があります
3. テーブル内のすべてのフィールドの順序を ID で調べます
4. 順序を変更しますselect obj#, col#, name from sys.col$ where obj# = '103756' order by col#
または、変更する更新の 3 番目のステップのステートメントの直後に追加します
最後に Oracle サービスをコミットして再起動します
関連する推奨事項:Oracle での Contains 関数の使用法の概要について
Yan Shiba Oracle ビデオ リソース (ソース コースウェア) の共有
以上がOracleデータベーステーブルのフィールドの順序を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。