- PR -

抽出した値をシェル変数に格納する方法は・・・

投票結果総投票数:15
あるぞよ 13 86.67%
ないっちゅーねん 2 13.33%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-28 13:19
いつもお世話になります。DB2、Kシェルです。
見出しのとおりなのですが、SELECTした値をシェル変数
に格納できないかと思っています。参考文献が少ないので
できないっぽいとは思ってるのですが、確信が持てない
ので質問させていただいております。

抽出した値をファイルに落としてそのデータを読み込む
のではなく、SELECTした値をシェル変数に格納する方法
はあるのでしょうか?今回は投票形式にしたいと思います。

ある OR ない でご投票ください。
また、ある場合はご教示いただけると幸いです。
よろしくお願いします。
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-28 13:48
書き忘れてましたが、シェルはKシェルのみです。
他のシェルで可能であればその辺も参考にしたい
と思いますのでご教示いただきたいです。

[ メッセージ編集済み 編集者: take 編集日時 2005-12-28 13:49 ]
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-28 16:19
「ある」のほうが先行してるのは以外でした。

結構裏技的な方法なんでしょうか?
オラクルやpostgreSQLだとできるみたいですけど
DB2ではなかなか方法を見つけられないです。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2005-12-28 17:46
結果をExportしてしまえば後はどうとでもならないでしょうか。
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-28 18:34
Anthyhimさんご返答ありがとうございます。
やっぱり一度ファイルに結果を書き込む必要がありますよね。
それでもできるんですが、直接変数に格納できるとファイルから
読み込む処理が減るので効率がいいかなと思ってるのと、
ループで処理するのでファイルが壊れたりしないかっていうのも
心配しています。変数を初期化して値を代入するのと、ファイルに
一度書き出して変数にわたすのは処理的に一緒なのですが、DB2で直接
シェル変数に格納する方法を探しています。

もしかしてexportで変数に渡せるとか・・・じゃないですよねー・・・。
せん
ぬし
会議室デビュー日: 2002/03/04
投稿数: 397
投稿日時: 2005-12-28 18:51
引用:

takeさんの書き込み (2005-12-28 18:34) より:


もちっと前提条件を「具体的」に書いてあげた方がいいのではないでしょうか?
いまのままでは延々とボタンの掛け違い話をするはめになりそうですが。
# もしくは、「take さんの望む具体例」が提示されるまで、かな。
take
大ベテラン
会議室デビュー日: 2004/08/13
投稿数: 177
お住まい・勤務地: 沖縄県北部
投稿日時: 2005-12-28 19:49
引用:

もちっと前提条件を「具体的」に書いてあげた方がいいのではないでしょうか?
いまのままでは延々とボタンの掛け違い話をするはめになりそうですが。
# もしくは、「take さんの望む具体例」が提示されるまで、かな。



うーん、具体例で思いつくのといえば、たとえばJAVAなんかでデータベース
から読み込んだレコードセットをループで1行ずつEOFまで評価しながら処理させる
みたいな事をシェルでできないかなーと思ってる・・・という感じでしょうか。

本当はストアドプロシージャか他の言語を使えば簡単にできることなのですが、
なかなかそうもいかない状況でやきもきしてるところです。皆様にも
わかりにくい質問をしてご迷惑をおかけしております。

for (条件){

結果格納変数=SQL実行関数("select * from test where 条件")

if(結果格納変数.カラム1=3){

その処理

}else{

その他の処理

}

}

具体例になってないですが・・・。イメージだけでも。
シェルとDB2以外は使わない方向なので、サードパーティ
製品をインストールできない状況です。DB2のストアドプロシージャ
はCコンパイラが必要なので使えない状況です。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2005-12-28 21:20
DB2の場合はそうしたスクリプト処理はperlとDBIでやるほかないですね。

スキルアップ/キャリアアップ(JOB@IT)