• ベストアンサー

カーソル処理って?

msystemの回答

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

実際のOracleとは、動きが違うので、カーソルとはこういうものだという概念だと思ってください。 データベースは、時と場合によって、テーブルからデータを持ってきてそのデータによって、処理を変えたくなる処理があります。 その場合、テーブルからとってきたデータを一時的に変数保存して、保存されたデータを調べて処理を行うという手順になります。 このときに、テーブルからとってくるデータが、1行複数列の場合、列の数だけ変数を作って、データを保存すればよいのですが、複数行のデータを取ってくる時、ほとんどの場合、何行とってくるのかはわかりません。また、その行数分だけ、繰り返しの作業が必要になることが多いはずです。 このような処理を行いたいときに、複数行のデータをいっぺんに保存し、繰り返しの処理を行いやすくした変数をカーソルといいます。そして、このカーソルを使った処理を「カーソル処理」と呼びます。 Oracleの場合、PL/SQLを使うとき、クライアントサイドで、ADO、DAO、RDO、oo4oなどを使う場合に、カーソルという概念が出てきます。 メリットとしては、上記のとおり、複数行に対して、複雑な条件による分岐処理を、1つのメソッド(PL/SQL文や、ストアドプロシージャなどのコール)で終わらせることができるため、ネットワークトラフィックを大幅に減らせる可能性があります。 デメリットは、カーソルを使うと、複数行に対する繰り返し処理になるので、条件が複雑でない場合や、多くの行を処理する場合はできるだけカーソルを使わずに、insert、update、delete文で処理するようにしないと処理時間が非常に長くなります。

mimoza22
質問者

お礼

ありがとうございました。 まだまだ完全に理解できるほど知識がないのが非常に悔しいのですが、 少しずつでも覚えていこうと頑張っています。 少しでもはやくmsystemさんみたいになれるように・・・ 本当に有難うございました。

関連するQ&A

  • カーソル0件の時にエラーを発生させる

    以下の処理をしようと考えています。 Aテーブルをカーソルで検索     →0件だった場合にはエラー ・・・ (1)     →データが入っていた場合には処理     →カーソルのデータがなくなったら処理を正常終了 カーソルに入っているデータが0件だった場合、Oracle上ではエラーとはみなされず、処理が正常終了してしまいます。 カーソルデータが0件だった場合にエラーを発生させるにはどのようにコーディングすればよいですか?

  • パソコンの処理中カーソルについて

    Corel Digital Studio を立ち上げて作業をしたり DVD-Rなどを入れて見た後に 脈を打つみたいに出たり消えたりしながら 処理中のグルグルするのがカーソルの横に出るようになってしまいました。 これを書いている今もなってます…。 特に動作が遅くなったりすることはありませんが、 気になって鬱陶しいです。 再起動してから同じように作業をすると戻ってしまいます。 対処法を教えてください。 パソコン初心者ですので、簡単な表現でお願いします。

  • カーソルエラー

    カーソルエラーについて質問です。 phpからpearを使ってoracleへ接続しています。 バッチ処理で大量にSQL文(SELECT,INSERT,UPDATE)を発行したいのですが、カーソルエラーになってしまいます。 途中の処理でエラーになった場合はロールバックしたい為最後までコミットできません。また、なるべく少ないSQL発行で済むようにプログラムを組み替え済みです。 で、少々手詰まりといった状況なのですが、コミットする以外でカーソルエラーを回避する方法はあるでしょうか? DB設計から見直さないとだめですかね…。

    • 締切済み
    • PHP
  • MySQLではカーソルを使うことができない?

    MySQLでデータベースの勉強をしています。 先頭からレコードを1件ずつシーケンシャル処理を行う時、カーソル定義をすればFETCHが使えそうです。 でもMySQLにはカーソルがないようです(SQLポケットリファレンス 技術評論社 平成17年版) ではどのような方法があるのでしょうか。 或いは最新版のMySQLではカーソル変数定義できますか?

  • エラー処理がテーマの本を探しています。

    最近.netを勉強し始めた者です。 エラー処理について詳しく勉強したく、良書を探しております。 とある本の検索サイトで検索してみたのですが、エラー処理がテーマの本はなぜかVB6のものばかりでした。 (内容の1セクションとして、エラー処理が載っているものはたくさん見つかったのですが…。) 文法的なエラー(例外)処理の説明ではなく、設計的な意味合いでの解説本で、お勧めのものがございましたら、お教えください。 よろしくお願い致します。

  • Windows10で、カーソルが消えるので...

    Windows10で、コマンドラインを使っているとカーソルが消えることがあります。 ネット検索すると、 一度powershellしてexitして戻ってくればカーソルが復活する 的な情報発見 実際にやってみるとその通りでした。 しかし、powershellが起動するまでが遅いし、更にそれを待ってからexitと打たなければなりません。 これ、時間が掛かるのはしょーがないとして、せめて待つのを何とかしようと C:>powershell -command "exit" としたのですが、戻ってくるんだけど、その時にカーソルが消えたままなんです。 他に方法はないんすかね

  • カーソル右クリックで、読みかな・辞書は出ませんか?

    カーソル右クリックで読めない漢字や簡単な意味を調べる機能。 カーソル右クリックで「Bingで翻訳」とかはあります。あとは「googleで検索」があります。 簡単に(よみ・辞書)みたいのがでる機能はないでしょうか。 Windows7です。 *動画UPします。音は無視してください。

  • カーソルの位置がおかしい

    ツールバーの中にあるグーグル検索で漢字変換のとき変換候補だしてTABキーで一覧表示しようとすると左上の青いとろにカーソルが飛んでしまいます初心者ですよろしくおねがいしますXPです

  • ボタンにカーソルを当てるとボタンが動く

    こんにちわ。 ボタンにカーソルを当てるとボタンが動くように設定したいのですが、どのようにやるのかわからなくて、困ってしまいました。 ネットなどでも検索したのですが、これだという答えがなかったので、もしお分かりの方がいらっしゃったら、お手数ですが、よろしくお願いします。

  • カーソルをあてるだけで横にでる画面を消したいです

    いつもお世話になっています。 パソコン超初心者のため上手に説明ができないんですがgoogleで検索結果がでて、その項目の横にある⇒のようなボタンにカーソルをあてるとこれから開くであろう画面がでてきます。 これをできたら消したいのですが、こちらに質問する前に自分で調べようとしましたが検索の仕方が悪いためかうまくヒットしません。 または元々がこうなのでしょうか? よろしくお願いします。