オラクル初心者です教えてください。
バージョンが関係あるのかは分かりませんが、8.1.7です。
AAAテーブルに10個の項目があり、真中に項目を追加する場合に、今入っているデータを生かしたい場合にどうやってやればよいのでしょうか?
↓領域を増やす場合などはこうやっているのですが
項目がずれているので駄目ですよね?
CREATE TABLE BBB AS SELECT * FROM AAA
DROP TABLE AAA
CREATE TABLE AAA(真ん中に項目追加後)
INSERT INTO AAA SELECT * FROM BBB
やっぱりINSERT分に項目を全部書かないとだめなのでしょうか?
No.1ベストアンサー
- 回答日時:
かかれているSQL文の中に2個所アスタリスクがありますが、どちらかで項目を並べればいいですよ。
CREATE TABLE BBB AS SELECT F1,F2,NULL,F3 FROM AAA
DROP TABLE AAA
CREATE TABLE AAA(真ん中に項目追加後)
INSERT INTO AAA SELECT * FROM BBB
とか、
CREATE TABLE BBB AS SELECT * FROM AAA
DROP TABLE AAA
CREATE TABLE AAA(真ん中に項目追加後)
INSERT INTO AAA SELECT F1, F2, NULL, F3 FROM BBB
ご意見ありがとうございます。
テーブルを作成する時に、既に項目を追加すると言うこととですね。
INSERT INTO.....VALUESと書くよりは
手間が省けますね。
No.2
- 回答日時:
>やっぱりINSERT分に項目を全部書かないとだめなのでしょうか?
違う方法でも項目はすべて書く必要があります。例を書きますので参考にしていただけたらと思います。
追加するフィールドをADD_FIELD VARCHAR2(100)とします。。
/*1.現在のテーブルの最後にフィールドを追加 */
alter table AAA add (ADD_FIELD VARCHAR2(100));
/*2.AAAを基に新規テーブルを作成追加 */
create table BBB as select [Field1],...ADD_FILED,..[Field10] from AAA
/*3.BBBをAAAにする */
drop table AAA cascade constraints;
rename BBB to AAA;
ちなみに2.で必要とされるフィールド名の取得は
select COLUMN_NAME from USER_TAB_COLUMNS
where TABLE_NAME = 'AAA' で全て取れると思います。
ご意見ありがとうございます。
はじめにテーブルを追加して、
コピーする際に順番を変えて変名するんですね。
CASCADE CONSTRAINTS
RENAME
というコマンドは知りませんでした。
勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- Access(アクセス) ACCESS VBA XSQLについて 2 2022/03/30 16:04
- Visual Basic(VBA) VBAを使いシート間で貼り付け 3 2023/03/14 20:53
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
APN設定について教えていただけ...
-
セルの右クリックで出る項目を...
-
ORACLEでLONG項目からCHAR項目...
-
Access テキスト型に対する指定...
-
Oracle 2つのDate型の値の差を...
-
空白をそのままインポートする...
-
株に関する用語集
-
必須入力項目と入力必須項目
-
SUBSTRING 関数に渡した長さの...
-
Excelグラフの横軸ラベルで任意...
-
複数のレコードを1つのレコード...
-
ある講演を聴いての感想レポー...
-
Outlook 分類項目のLocalからSe...
-
VBAで複数の数式セルを最終行ま...
-
エクセルグラフの凡例スペース
-
他テーブルで一致する列から名...
-
Accessレポート上でCountif。
-
SQLServerのGROUP BYについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで5行目からオート...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
セルの右クリックで出る項目を...
-
アンドロイド おサイフケータイ...
-
BIOSでAHCIに設定したいが、項...
-
Excel 2019 のピボットテーブル...
-
エクセルグラフの凡例スペース
-
正しく入力されていない項目も...
-
SUBSTRING 関数に渡した長さの...
-
複数のレコードを1つのレコード...
-
access2000:フォームで入力し...
-
必須入力項目と入力必須項目
-
Accessで数値型にNULLをInsert...
-
パソコンで画像ファイルを手持...
-
Accessレポートで特定条件で改...
-
空白をそのままインポートする...
-
2行目を表示できますか?
-
ORACLEでLONG項目からCHAR項目...
-
VBAで複数の数式セルを最終行ま...
おすすめ情報