4列のテーブルを作成しました。テーブルの構造を変更する必要があります。4 列目と 2 列目の位置を恒久的に交換する必要があります。これはオラクルで可能ですか?
質問する
63 次
5 に答える
5
于 2013-03-14T14:27:31.070 に答える
2
同じデータ型の場合は、テーブルの列の名前を変更するだけです。そうでない場合は、Alter-SeanとEgorの例を参照してください。
名前の変更: http ://docs.oracle.com/cd/E11882_01/server.112/e25494/tables006.htm#ADMIN11662
そしてインタビューで彼らはショーンの答えを探しています。参考までに...
于 2013-03-14T15:55:09.993 に答える
2
列col1とcol2の交換col1はであり、col2はで
あると想定されます。int
varchar2(20)
-- drop all indexes and constraints concerning col1 and col2
alter table your_table add temp_col int; -- type of col1
update your_table set col1 = null, temp_col = col1;
alter table your_table modify col1 varchar2(20); -- type of col2
update your_table set col2 = null, col1 = col2;
alter table your_table modify col2 int; -- type of col1
update your_table set col2 = temp_col;
alter table your_table drop column temp_col;
alter table your_table rename column col1 to temp_col;
alter table your_table rename column col2 to col1;
alter table your_table rename column temp_col to col1;
-- recreate indexes and constraints
于 2013-03-14T15:31:57.627 に答える
2
なぜこれが必要なのですか?列の順序は SQL では意味がありません。
于 2013-03-14T15:14:39.893 に答える