- - PR -
シェルにてデータ抽出をする方法
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-10-12 16:58
はじめまして。
シェル初心者です。困っているのでどなたか アドバイスお願いします。 ---------------------------------------------------------- 1.シェルを実行して「sqlplus」コマンド?でOracleに接続。 2.hogeテーブルからキーになるコードを取得。 select hoge_cd from hoge; 3.取得したコードをループしながらhoge_cdに紐付くデータを抽出。 select huga_cd, huga_nm from hoge_cd; ~~~~~~~~ ---------------------------------------------------------- このように、1度SQLを実行して取得したコードをもとに 2つめのSQLを実行するような処理はできるのでしょうか?? for...ループの途中でSQLを実行することはできないのでしょうか?? わかりにくい説明かとは思いますが どなたかよろしくお願いします。 | ||||
|
投稿日時: 2005-10-12 17:13
create view せんでも Oracle やと select 文の多重化できるでっしゃろ?
MySQL, PostgreSQL には到底不可能な芸当が(笑) | ||||
|
投稿日時: 2005-10-12 17:32
コブラさん。早速のお返事ありがとうございました。
質問の追記ですが、 for文はシェルの方で行いたいのです。 sqlplusに接続する際、結果のhuga情報をhoge_cdごとに ファイル出力したいのです。 sqlplus -s aaa/bbb <<EOF select hoge_cd from hoge_tbl; exit : : for do sqlplus -s aaa/bbb <<EOF >hoge_cd.txt select huga_cd, huga_nm from huga_tbl where hoge_cd = hoge_cd; exit done EOF こんな感じの雰囲気にしたいのですが。。。。 上記のロジックを実行するとうまくいきません T T 処理フロー自体見直したほうがいいのかもわからなくなりました。 すみませんがよろしくお願いします。 | ||||
|
投稿日時: 2005-10-12 17:53
つfetch #あんまり素気なかったので。。。 [ メッセージ編集済み 編集者: Yam 編集日時 2005-10-12 18:09 ] | ||||
|
投稿日時: 2005-10-12 18:30
こんなんどうですか?
C:\testディレクトリ配下に テーブル毎のテキストファイルができて、 その中に件数が出力されているってPL/SQLを書いてみました。 参考にして手直しなどしてもらえれば・・・いけるのかな? #Oracle9iR2で実行テストしました。
[ メッセージ編集済み 編集者: 夏椰【SUICA】 編集日時 2005-10-12 18:42 ] | ||||
|
投稿日時: 2005-10-12 18:58
Yamさん・夏椰さん。
ありがとうございました! 早速やってみます!! | ||||
1
