• 締切済み

DBをコピーし一部変更して追加するPL/SQL文

オラクルPL/SQL超初心者です。 住所録DBで1項目だけ変更し、あとはすべて同じ内容でその住所録DBに追加するプロシージャーのSQL文の作成例をご教示下さい。(データは約8,000件あります) 例えば下記のように「確認日」だけ更新して追加するには・・・ イメージとしては  (変更項目) 氏名  住所  電話   年齢  確認日 ------------------------------------------- AAA  aaa  xxxx  xx  2003/10/31 DDD  bbbb  xxxx  xx  2003/10/31 FFF  ccc  xxxx  xx  2003/10/31 HHH  ddd  xxxx  xx  2003/10/31 TTT  fff  xxxx  xx  2003/10/31 --(追加データ) AAA  aaa  xxxx  xx  2004/02/11 DDD  bbbb  xxxx  xx  2004/02/11 FFF  ccc  xxxx  xx  2004/02/11 HHH  ddd  xxxx  xx  2004/02/11 TTT  fff  xxxx  xx  2004/02/11 環境はOracle9i、WindowsXP、ツールはSI Object Browserです。

みんなの回答

  • mi-si
  • ベストアンサー率35% (200/567)
回答No.1

insert into 住所録DB (氏名,住所,電話,年齢,確認日) values select 氏名,住所,電話,年齢,'2004/02/11' from 住所録DB where 確認日 = '2003/10/31' で出来ると思うんですが・・・何となくDBの設計に違和感を感じるのは気のせいかな???

diashun
質問者

お礼

早速のご回答有難うございました。 参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • SQL文を教えてください

    いつもお世話になっております。 ウェブサイトを作っているのですが、以下のようなデータを表示するのに良いSQL文が分からず悩んでいます。 ID | DATE     | DATA --+----------+----- 1 | 2010-11-11 | aaa 2 | 2010-11-11 | bbb 1 | 2010-11-10 | ccc 3 | 2010-11-12 | ddd 3 | 2010-11-11 | eee 4 | 2010-11-10 | fff 1 | 2010-11-12 | ggg 2 | 2010-11-12 | hhh 1 | 2010-11-12 | iii 3 | 2010-11-12 | jjj 1 | 2010-11-09 | kkk 1 | 2010-11-09 | lll 1 | 2010-11-08 | mmm 1 | 2010-11-08 | nnn 1 | 2010-11-07 | ooo 1 | 2010-11-07 | ppp 1 | 2010-11-06 | qqq 3 | 2010-11-05 | rrr 2 | 2010-11-13 | sss 5 | 2010-11-08 | ttt 6 | 2010-11-05 | uuu 7 | 2010-11-04 | vvv 8 | 2010-11-03 | www 9 | 2010-11-02 | xxx 10| 2010-11-01 | yyy 11| 2010-10-30 | zzz 上のようなテーブルから、各IDを10件まで日付順に取り出すことはできるでしょうか? 具体的には、1つのページに以下のように表示したいのです。 2 | 2010-11-13 | sss 2 | 2010-11-11 | bbb 1 | 2010-11-12 | ggg 1 | 2010-11-11 | aaa 1 | 2010-11-10 | ccc 1 | 2010-11-12 | iii 1 | 2010-11-09 | kkk 1 | 2010-11-09 | lll 1 | 2010-11-08 | mmm 1 | 2010-11-08 | nnn 1 | 2010-11-07 | ooo 1 | 2010-11-07 | ppp 3 | 2010-11-12 | ddd 3 | 2010-11-11 | eee 3 | 2010-11-05 | rrr 4 | 2010-11-10 | fff 5 | 2010-11-08 | ttt 6 | 2010-11-05 | uuu 7 | 2010-11-04 | vvv 8 | 2010-11-03 | www 9 | 2010-11-02 | xxx 10| 2010-11-01 | yyy ・各IDのうち、最も新しい日付のものが上にくる ・表示するIDは10件まで ・表示はIDごとにまとめて行う ・一つのIDに属するデータは10件までしか取り出さない 上記のことを実現する方法をご教授ください。 よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • SQL文を教えてください。

    すみません、SQLを教えてください。 ID, 名前の2つのフィールドを持つテーブルがあります。 中身は以下のように入っています。 1, AAA 2. AAA 2, BBB 3, CCC 3, AAA 4, DDD 5, EEE, 5, DDD これを、名前のダブリをスキップしながら、 IDの大きな順番に名前を取り出したいのです。 結果は、以下のようになればいいです。 DDD EEE AAA CCC BBB どのようなSQLを組んだら実現できますか? よろしくお願いいたします。

  • 大量データの一括変換

    aaa.bbb ccc.ddd eee.fff ggg.hhh 上記のようなデータが約1万行程度あるのですが、これを下記のようなユーザ名・メルアドに変換するコマンド等、お分かりになる方教えてください。ユーザ名・メルアドの間は半角スペースです。 ある程度自分で調べた結果awk等で出来そうな気がするのですが。。。 ユーザ名  メルアド   ↓     ↓ aaa.bbb aaa.bbb@hoge.com ccc.ddd ccc.ddd@hoge.com eee.fff eee.fff@hoge.com ggg.hhh ggg.hhh@hoge.com

  • ファイルに記述されている複数のSQL文を一度に実行させたい

    こんにちわ。 ファイルに記述されているSQL文を、Linuxのコマンドラインなどから 実行したいと考えています。 ファイルに insert into DB_NAME(aaa,bbb,ccc) values(111,222,333); insert into DB_NAME(ddd,eee,fff) values(333,777,222); insert into DB_NAME(aaa,ttt,ddd) values(111,000,999); ... などのSQL文が複数行(例えば1000個ほど)記述しているのを用意して なんかしらの方法で一度に実行させたいのです。 mySQLでは、このようなやり方があるのですが postgreではどのようにすればいいのか、わかりません。 どなたかご存知の方、よろしくお願い致します。 OSはLinuxです。

  • ピポッド 集計の追加

    ご存知の方、お知恵をお貸し下さい。 現在、下記のようなピポッドを組んでいます。 グループ1  AAA (AAAの合計、以下aaa+bbb+cccの合計) aaa bbb ccc        BBB (BBBの合計、以下ddd+eee+fffの合計) ddd eee fff CCC (CCCの合計、以下ggg+hhh+iiiの合計) ggg hhh iii グループ2・・・以下続く 上記に、BBBとCCCだけの合計を、(グループ1の中に)追加したいのです。 このように、合計したい項目だけを指定して 集計する事は可能でしょうか? 数式の集計アイテムの追加を行いましたが 上手くできませんでした。 ご存知の方、ご教授いただければ幸いです。 宜しくお願い致します。

  • SQLについて

    aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 111 111 111 111 111 111 111 112 112 112 112 112 112 111 112 113 113 113 113 113 111 114 114 114 114 114 114 111 114 114 114 114 114 114 112 114 115 115 114 114 115 111 114 115 115 114 114 115 112 116 116 116 116 116 116 111 116 116 116 116 116 116 112 116 116 116 116 116 117 111 116 116 116 116 116 117 112 118 118 118 118 118 118 118 上記のようなデータより、SQLのSELECTを使用して、以下のように抽出したいです。 抽出条件は以下が全て満たしているものとなります。 ・aaa,ccc,ddd,eee,gggが重複、hhhが小さいもの ・bbbが異なるもの aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 112 112 112 112 112 112 111 ・・・(1) 112 113 113 113 113 113 111 ・・・(1) 114 114 114 114 114 114 111 ・・・(2) 114 115 114 114 114 115 111 ・・・(2) (1)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象 (2)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象  また、hhhが小さいもの 以上、よろしくお願いします。

  • SQL文 テーブル1つに複数のデータ

    お世話になっております。 SQLでの質問です。 --テーブル---------- F_1 F_2 AAA BBB AAA CCC BBB XXX CCC DDD DDD YYY 1.F_1のAAAを条件にF_2のBBB・CCCを取得し、 F_1のBBB・CCCと、F_2のXXXとDDDを取得します。 2.次に、取得したF_2のXXX・DDDを条件に、F_1のDDD、F_2のYYYを取得します。 これを1つのSQLで実行したいのですが、副問合せを駆使しても、良いSQLが思い浮かびません。 有識者の方、ご享受頂きたいです。 宜しくお願い致します。

  • エクセルのマクロについて

    エクセル97のマクロについて教えてください。 下のようなエクセルシートがあると仮定します。 このシート全体を選択して用意してあるボタンを押すと、マクロが流れるようにします。 マクロの中身は、項目1~4の値が同じであれば、同じデータを一つにするというものを考えています。 たとえば下の例の場合、追番でいえば2と4のデータは同じなので、マクロ処理にかけると、追番の大きい4のデータは消え、2のデータの"200"項目にフラグ1が追加されるようにしたいのです。 項目の値が同じであれば、いくつでもデータを統一したいと考えています。 ================ エクセル シート例 ================================== 追番_項目1_項目2_項目3_項目4_100_200_300_400 ← 見出し ----------------------------------------------------------------- 1****AAA****BBB****CCC****DDD****1*********1****1**** 2****EEE****FFF****CCC****GGG****1**************1**** 3****HHH****FFF****KKK****JJJ****1****1****1********* 4****EEE****FFF****CCC****GGG****1****1*********1**** ↓ マクロ処理後 追番_項目1_項目2_項目3_項目4_100_200_300_400 ← 見出し ----------------------------------------------------------------- 1****AAA****BBB****CCC****DDD****1*********1****1**** 2****EEE****FFF****CCC****GGG****1****1*********1**** 3****HHH****FFF****KKK****JJJ****1****1****1********* =================================================================== 注:見出しの_とデータの中の*は空白を生めるためのもので、データとはまったく 関係ありません。 なにぶんエクセルVBAは初心者同然なもので... よろしくお願い致します。

  • SQL文の書き方

    SQL文の書き方を教えて下さい。 以下の2つのクエリー(1のクエリー&2のクエリー)を1つのクエリーで1度に抽出をかけたいのですがSQL文の書き方がわかりません。 データの発生条件としては TableBのField1は必ずTableAのField1に存在するという条件です。 TableAのField1が「AAA」から「EEE」まである場合は、TableBのField1も必ず「AAA」から「EEE」の範囲内で発生します。 よろしくお願い致します。 1のクエリー ---------------------------------------------------------------- TableA Field1 ---------------------------------------------------------------- AAA AAA AAA BBB BBB CCC DDD DDD EEE EEE EEE ---------------------------------------------------------------- Field1をサマライズしてカウントと名称を取得するクエリー Select Count(TableA.Field1) as RecCount, TableA.Field1 From TableA 結果 RecCount  Field1 3      AAA 2      BBB 1      CCC 2      DDD 3      EEE ---------------------------------------------------------------- 2のクエリー ---------------------------------------------------------------- TableB Field1 ---------------------------------------------------------------- BBB CCC CCC EEE ---------------------------------------------------------------- Field1をサマライズしてカウントと名称を取得するクエリー Select Count(TableB.Field1) as RecCount, TableB.Field1 From TableB 結果 RecCount  Field1 1      BBB 2      CCC 1      EEE ---------------------------------------------------------------- 希望する結果 TableAのRecCount TableBのRecCount TableAのField1 3                   AAA 2         1         BBB 1         2         CCC 2                   DDD 3         1         EEE

  • csv形式のデータの一部を削除して、上書きする方法

    前回も似たような(?)質問をしたんですが 今回も質問させてください。CSVに関して(CSVだけというわけではありませんが) 以下のようなデータを読み込んで、配列変数に格納後... aaa,bbb,ccc,ddd eee,fff,ggg,hhh iii,jjj,kkk,lll mmm,nnn,ooo,ppp qqq,rrr,sss,ttt ↑のデータを、下のようなデータにして、保存しなおすにはどうすればよいでしょうか。(上から二列目を削除して前のデータに保存しなおす) aaa,bbb,ccc,ddd iii,jjj,kkk,lll mmm,nnn,ooo,ppp qqq,rrr,sss,ttt 変な質問でもうしわけございませんが、回答できるかたお願いします。

    • ベストアンサー
    • Perl