人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLの書き方について教えてください。2つのテーブルA,BをまとめてSELECT文を発行します。その結果に対して再検索を何度かかけたいのですが、可能でしょうか?もし不可能な場合は解決策をお願いします。詳細な解説もしくは有効と思われる具体的解決策に対してポイントを差し上げます。システムはOracle 10gとVBA+ADO2.7です。非常に初歩的な質問ですがよろしくお願いします。

●質問者: onezero
●カテゴリ:コンピュータ
✍キーワード:10g Oracle SELECT SQL VBA
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●50ポイント

http://www.geocities.jp/cbc_vbnet/ADO/find.html

アクセスVBA講座_ADO_検索

抽出したレコードに対して、Findメソッドで検索できます。

◎質問者からの返答

ありがとうございます。早速試してみます。サーバ側ではどのようにできるかも見たいので引き続きお願いします。


2 ● n4d
●50ポイント

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_k02.htm

SQL 基礎編 (その二) ビュー操作 create view、select、drop view - SAK Streets

想定されている用途に合うかどうかわかりませんが、ビューやサブクエリを使うというのもアリかと思います。

あとは、サーバ側でストアドプロシージャなどにしてしまうのが一般的ですね。

◎質問者からの返答

なるほど、こういうやり方をするのですね。ありがとうございます。参考になります。発行するコマンドの性能について言及しているページがもしあればそれも見てみたいですね。


3 ● n4d
●50ポイント

http://www.hatena.ne.jp/awindow?qid=1104140908?

おおざっぱな説明になりますが、

・ビューは複雑なSELECT文を使う時に有効(ビューにインデックスを張ったり出来ます)

・抽出したデータを基に複雑な処理を行うならストアドプロシージャが有効(SQL文の解析・コンパイルが1回で済みます)

もちろん、プロシージャ内でビューを使うことも可能なので、組み合わせで使うこともよくあります。

ただし、RDBMSのパフォーマンスは要求される処理によって最適解が異なってきますから、具体的なことは処理の内容を見ないと断言できません・・・

それぞれの手法にはデメリットも少なからずあるのです。(インデックスはデータ更新時の負荷が増大する、プロシージャはプロシージャ・キャッシュ用のメモリ領域を消費する・・など)

◎質問者からの返答

詳しい解説ありがとうございます。なるほど、マシンの性能やDBを使った処理によっては負荷が増大する危険もあるわけですね。参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ