• ベストアンサー

PL/SQLのアドバイスをお願いします。

orangemikanの回答

回答No.1

こんにちは オラクル側で数値データで保存してあるのは悲劇ですね。 クライアント側かサーバ側のどちらが効率的かということですが、クラアントがたくさんあるなら、サーバで集中させて処理するより分散したほうが計算速度は速いと思います。 ただ、オラクルはPL/SQLなどで引数が違うだけのものは解析してメモリにキャッシュしておくので毎回計算といっても、実行文→解析→実行 ということはやってないません。 しかし、今回の場合ですと簡単な処理なのでどっちでもいい気がします。^^; 私がやるならオラクル側のテーブルの変更をするか、ビューを作ります。 ただPL/SQLは便利なので勉強を兼ねて利用することをオススメです!

関連するQ&A

  • PL/SQLでmdb(Access)ファイルへの書き込みは可能?

    あまりPL/SQLに関して知識がないので 可能なのかを教えていただきたいのですが、 例えば、 Oracleのテーブルデータ(例:メッセージテーブル) をローカルの空のMDBファイルへ丸ごとコピー といった処理をVBで行っているのですが、 毎回Insertを発行しているために とても処理に時間がかかっています。 (もともとこれ自体無謀なんですが・・・) そこでPL/SQLではバルク処理?といった 高速処理もあるようで、 このVBのかわりにPL/SQLで出来ないものだろうか・・・ と単純に思ったのですが、 PL/SQLでこういったコピー処理っていうのは 可能なんでしょうか?? ご存知の方、教えていただきたいです。 よろしくおねがいします。

  • うまくPL/SQLが書けません。

    PL/SQLを作成しているのですが、うまくいかないので 質問させていただきました。SQL初心者ですがよろしければご教示ください。 テーブル名  カラム名 Bar       number numberには’AB734869 テスト’、‘AB364850 再テスト’ といった具合にまず8桁の番号が入り、その後データによってテキスト項目が続いています。 そしてnumberのデータへ、一律、頭から数えて5バイト目と6バイト目の間に’0000’という文字列を挿入したいと考えています。 例えば’AB734869 テスト’の場合は’AB7300004869 テスト’というようにしたいのですが、良い方法が思いつきません。 STUFF関数は使えませんし。。。UPDATEやINSERTを使ってやろうと思ったのですが、 どうしても出来ません。 皆様の知恵を拝借頂けたらと幸いです。 宜しくお願いいたします。 m(_ _)m

  • SQLアプリケーション制御

    Oracleのデータを操作できるアプリケーションを端末ごとに、使用可/不可にわけたいのですが、可能でしょうか?例えば、 Aさん------SQL*Plus ○ Access ×  Bさん------SQL*Plus ○ Access ○  できれば、ここのクライアントで設定するのではなく、サーバー側で一括設定したいです。 どうか教えてください。お願いします。

  • 異なるDBのSQL

    SQLを始めたばかりの初心者です。 oo4oやADOを使用して、オラクルサーバーのデータをSELECT文で オラクル内の複数のテーブルを結合してListViewで表示する プログラムを作成中です。 オラクルサーバーにメインデーターがあり 各クライアントにMDB形式でマスタデータがあります。 MDBのマスタデータにはたとえばですが、テーブル名 [商品テーブル] フィールド名[コードナンバー]、[商品名]... となっており、サーバーには、テーブル名[商品コード]  フィールド名[コードナンバー]、[受注日]....があるとします。 クライアントからoo4oやADOを使用して、サーバーのデータを SELECT文でオラクル内の複数のテーブルを結合して ListViewで表示するのはできます。しかし [コードナンバー]は取得できるのですが、サーバーのテーブルには、 [商品名]がないためとうぜん表示できません。 この場合、オラクルから取得したデータをマスタデータのあるMDBに新しくテーブルを 作りそこに一度格納して再度ADOで結合処理して 商品名を表示する方法しか考えつかないのですが、 ほかに良い方法はありますでしょうか? ADOで接続MDBに保存再度ADOで接続して表示では レスポンスが悪いかなと思いまして... *VB6 winXP-pro オラクル9i

  • PL/SQLで@ファイル名が反応しません

    はじめまして、PC超初心者なのにOracleを勉強し始めました。 PL/SQLの本を買って見よう見真似でやっているのですが、SQL*PLUSから@<ファイル名>を実行しても何の反応もありません。 SQL>@sample1 としても SQL>@sample1 SQL> と何事もなかったようになります。 本によればエディタに保存したSQL内容が実行されるとあるのですが。。。 ちなみにサンプルエディタをダウンロードして、実行しようとしても全くの無反応です。 どこか根本的な設定がおかしいのでしょうか。。。 どなたかご回答いただけると助かります。

  • SQL ServerのUNICODE設定について

    SQL Server 2005を使っていますが、SJIS形式で格納された、Oracleの データを、SQL ServerのUNICODEで構成されたテーブルに、ロードする 必要があります。 Oracleでは、異なる文字コードの場合、SQL Netが自動的に、文字 コードを判断して、自動変換してくれますが、SQL Serverでは、 どのようになりますか?SQL Native Client等が、自動変換してくれる のでしょうか? お手数ですが、どなたかお教え下さい。

  • SQLの書き方

    電話番号がcsvファイルに000-0000-0000 という形で たくさん入っています。これをアクセスのフォームを使って 読み込んで、オラクルサーバーとつなげ、SQLを発行しています。 DB上には電話番後はtel1 000 tel2 0000 tel3 0000 というように、フィールドが分かれてハイフンなしで入っています。 これを抜くためにはどのようなSQLをかいたらいいのでしょうか? 苦し紛れに書いてみたSQLは select telno1_1||'-'||telno1_2||'-'||telno1_3 as TEL1,* from DB where TEL1 = '" & n1 & "'" というものです。 n1にはcsvから読み込んだ電話番号が000-0000-0000の形で入っています。 どなたか教えてください。 宜しくお願いします。

  • PL/SQLでSJISの文字コードを取得可能でしょうか

    失礼いたします。 PL/SQLでSJISの文字コードを取得したいのですが可能でしょうか。 文字コードのみを取得したいので、CONVERT関数やCHR関数などの変換関数は不要です(WIN拡張以外の外字判定に使用するため)。 ORACLEは8iです。 どなたかご存知の方、いらっしゃいましたら教えていただけませんでしょうか。 よろしくお願いいたします。

  • pl/sqlでcsvファイルダウンロード

    Oracleアプリケーションサーバーを利用しています。 Oracle8i。 PL/SQLから特定のテーブルのデータをCSVダウンロードさせるようにしたいのですが、ファイル名の特定ができません。 処理順序  declare    略  begin    owa_util.mime_header('text/csv', FALSE);    owa_util.http_header_close;    動的SQLを利用して一行ずつhtp出力    end 実行するとダウンロードを促すダイアログが表示されますが、そのとき表示されるファイル名がパッケージ名になっています。ソース中で任意にファイル名をつけたいのですがどうしたらよいでしょうか? または、ブラウザにデータを表示させたEXCELを表示させるといった方法でもよいです。(一行にカンマ区切りのデータが収まってしまうのはNG)   よろしくお願いいたします。

  • MySQLでの動的SQL

    javaとOracleを利用して開発をしています。 OracleのデータをそのままMySQLへ移行し、 小規模の類似システムを構築しようと考えているのですが、 MySQLではOracleと同様に、 動的SQL(埋め込みSQL)を利用することは可能でしょうか? また、参考になるサイトがあれば教えていただきたいです。 宜しくお願い致します。

    • ベストアンサー
    • MySQL