アプリ版:「スタンプのみでお礼する」機能のリリースについて

Oracle 10gにて、DB内のデータを「指定されたレコード数」だけ増幅したいのですが、実現方法が思い浮かびません。

私が試した実現方法は、以下の通りです。
エクスポートして、EXCELやCSVに出力し、ほしいレコード数に修正することを考えましたが、
EXCELやCSVの最大行数?を超えているため正しく出力されませんでした。。。

※ちなみに、私はエクスポート=テーブルの全データを出力と考えています。エクスポートで出力レコード数を指定することはできるのでしょうか?

どうか、ご教授願います。

A 回答 (2件)

正式には未公認らしいのですが


select level from dual
connect by level < 10;
とすると
LEVEL
----------
1
2
3
4
5
6
7
8
9
の9行のデータを取得できます。
このようにして取得した指定行数のインラインビューと、増幅したいテーブルをCROSS JOIN
すればどうでしょう。
    • good
    • 0

こんにちわ。



> DB内のデータを「指定されたレコード数」だけ増幅したい
例えば、hoge表のデータを増幅させるとして、SQL*Plus から
以下のようにすると簡単にデータ増幅ができます。
※ Primary Key があったりすると、エラーになりますが
SQL> inset into hoge select * from hoge;
SQL> /
SQL> /
SQL> /
SQL> commit;

テキストに出力するのであれば、こんな感じです。
SQL> select h.* from hoge h, (select 1 from user_tab_columns where rownum <= 100) t;
→ user_tab_columns に100件以上データがあれば、hoge 表のデータが100回出力されます。

データの中身を変えながら増幅させるのであれば、無名PL/SQL ブロックが便利です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す