• ベストアンサー

OracleのSQLで同テーブルのカラムをコピー

oracle9iを使用しています。 あるテーブルに新しい列を新規追加し、そのカラムに既存列のデータをそっくりそのままコピーしたいのですが、どのようなSQLを流せばよいのでしょうか? 初心者丸出しな質問で申し訳ありませんが、ご教授頂けましたらありがたいです。 よろしくお願い致します。

  • Oracle
  • 回答数1
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

データ件数がどのくらいあるのか分かりませんが、1万件以下くらいなら、update一発でいいでしょう。 update 表名 set 新しい列=既存の列

spell061
質問者

お礼

普通にSQLを書いてよかったんですね。 解決です。ありがとうございました。

関連するQ&A

  • SQL文で同DB内、テーブルから別テーブルにコピー

    同じデータベース内にA、Bという、ほとんど同じテーブルがあります。 異なるのは、2つの列に限り名前は同じですが、型が異なります。 その場合、その2列以外のデータはそのままコピーし、その2列には「1」という数値を設定したいです。 SQL serverでしたら、どのようなクエリになりますでしょうか? よろしくお願いします。

  • オラクルからAccessにデータ追加

    オラクルから、必要なデータを抜出し加工の為のDBをAccessで作成していますが、オラクルから抜き出したデータ(レコードセット)を、どうやってAccessのテーブルに書き込めばよいかがわかりません。 ◎環境 Oracle:10g Access:2010 ◎現在の状況 Dim CON As New ADODB.Connection Dim RS As ADODB.Recordset Dim SQL As String Dim i As Integer 'DB接続定義 CON.Open "DSN=DNS名;UID=ユーザー名;PWD=パスワード;" 'SQL文 SQL = "SELECT " SQL = SQL & "カラム1," SQL = SQL & "カラム2," SQL = SQL & "カラム3" SQL = SQL & "FROM オラクルテーブル名 " SQL = SQL & "WHERE 抽出条件 " SQL = SQL & "AND 抽出条件" SQL = SQL & "GROUP BY カラム" SET RS = CON.EXCUTE(SQL) For i = 1 To 10 Debug.Print rs(カラム1) & rs(カラム2) next i ここまでは、オラクルのテーブルから、レコードセットにデータが取り込まれてます。 rs.close: SET RS = Nothing con.close:SET CON=Nothing end sub 案1 レコードセットのデータを、Access側のテーブルにループで回して、1行ずつデータ追加 案2 INTO句で直接、テーブル作成 調べていて、2通りのやり方があると思うのですが、どちらにしても、テーブルへの書き込み方がわかりません。 案1の場合、Access側のテーブルを開いてデータ追加する方法 ※同時に2つのテーブルを開くことになるのでは? 案2の場合、SQL文はオラクルで処理する為の物なので、AccessテーブルのINTO句が使えるのか? オラクルのテーブルをリンクする事も考えたのですが、実際動かすPCにはAccessRuntimeしかインストールしてませんので、オラクルのテーブルをリンクしてくれませんでした。 よい方法があれば、アドバイスを頂けたら幸いです。

  • テーブルのカラムの追加について

    初歩的なことかもしれませんが、下記質問について教えてください。 現在SQL Server2000の環境でDBを使用しております。 現在使用しているDBの既存テーブルに簡単なバッチファイルを使ってカラムを追加後(ALTER TABLE)、その追加したカラムにデフォルト値やそのテーブルにレコードを追加しようとしています(個々までバッチ処理: 今回試したのは、クエリアナライザにて試験的に行っています)。 ただ、カラムの追加までは可能ですが、デフォルト値やレコードの追加を行うと「追加したカラムが無効です」というエラーが表示されます。 恐れいりますが解決策があれば、教えてください。

  • SQLサーバでテーブルをコピーする

    SQLサーバ超初心者です。 A支店用のテーブルを作成(dbo.data_A)したのですが B支店(dbo.data_B)、C支店用(dbo.data_C)のテーブルを作成したいです。 Accessなどのように、コピーペーストなどはできないのですよね? ご教授お願いいたします!

  • テーブルのカラム(列)を追加したい

    お世話になります、 DBはOracle8iです。 一度作成して、データが入っているテーブルAの カラム(列)をデータをそのままにして追加できるの でしょうか? 追加前のデータにデフォルト値を与えることはできるのでしょうか? [変更前] 名前 年齢 性別 あ   1  男 い   2  女 う   3  男 ↓カラム追加 [変更後] 名前 年齢 性別 フラグ あ   1  男   0 い   2  女   0 う   3  男   0  以上のような感じにしたいのですが、 Alter table文を使うところまではわかっているのですが。。。 よろしくお願いします。

  • コラム名でテーブルを検索できますか?

    SQL & ORACLE初心者です。最近、セレクト文を使って、テーブル内のデータを取り出すことができるようになりましたが、逆にコラム名からテーブルを検索することはできるでしょうか。 例えば、TABLE_A内のコラムの中にCOLUMN_Aという名前のコラムがあるとして、このコラムが他のテーブルでも使われているかどうか、いるとしたらどのテーブルかを知りたいのです。また、COLUMN_Aと別のCOLUMN_B(それぞれが単独で記載されているテーブル名はわかっているとします)が一緒にある一つのテーブルで使われているかどうか、またそのテーブル名を知りたいときには、どのようなSQLを書けばよいでしょうか。 DBAやその他DBを構築するための知識をお持ちの方、ご回答をお待ちしています。

  • 既存テーブルにカラム追加でサービス停止

    既存のテーブルに新しいカラムを追加するSQL文をphpmyadmin上から 実行すると、1,2分ほどしてから以下のメッセージを出力してサービスが停止します。 「SHOW TABLE STATUS LIKE 'テーブルA' #2003-サーバが応答しません。」 OS:windows2003 MySQL:4.0.26 全てのテーブルについてエラーになるわけではなく、一部のテーブルのみ現象が発生します。 現象がおきているのをテーブルA,テーブルBとすると、 テーブルAはレコード件数は90万件弱ですが、カラム数が200以上あります。 テーブルBはレコード件数が700万件近くあります。 カラムの追加は3つあり、一つのSQL文で3つを追加しようとしています。 全てのカラムは既存の最後に追加します。 データ型は全てINT(20)です。 以下はエラーログです。 *** Windows2003 アプリログ ************************************************ エラー発生アプリケーション mysqld-nt.exe、 バージョン 0.0.0.0、 エラー発生モジュール mysqld-nt.exe、 バージョン 0.0.0.0、 エラー発生アドレス 0x00173539 どなたかお分かりになる方、おられましたらご教授お願いします。 この質問はMySQLメーリングリストにも投稿しています。 どちらかで回答がもらえれば、回答を掲載します。

  • oracle テーブルコピー

    はじめまして 現在、oracle9iを使い、開発しています。 宜しければご回答の方をお願い致します。 スキーマAAAにあるテーブルBBBをテーブルデータは不要として スキーマCCCに同じ定義のテーブルBBBをコピー作成したいと考えています。 どのように行えば、良いのでしょうか。 当方、初心者ですが、何卒ご回答の程、よろしくお願い致します。

  • ORACLE SQL 教えてください。

    オラクルSQLの初心者です。 (1)のテーブルから (2)のテーブルを作成する方法はありますか?教えて下さい。 (2)のテーブルを元に他のテーブルの色々な値を取得したいです。 (1) TEMP1 -------------------------- CODE YEAR_START YEAR_END --------------------------  01    08        11  02    08        09  03    11        11 (2) TEMP2 --------------------- CODE YEAR ---------------------  01   08  01   09  01   10  01   11  02   08  02   09  03   11

  • 特定のカラムを含むテーブル名を抽出したい

    50個程度のテーブルがあり、 そのテーブルの中から 「abc」というカラムが存在するテーブル名を取得するsql文を教えてください。 Oracleは10gです。 よろしくお願いいたします。