• ベストアンサー

PL/SQL

こんにちは。皆様にお力をお貸しいただきたく、書き込みさせていただきます。 今月からPL/SQLを使っています。しかし私は全くの初心者です。「やさしいOraclePL/SQL入門」をさらっと読んだ程度です。 今ソースの解析をしていて、わからないことがあったらネットで調べるというような感じにしているのですが、なかなかネットでの検索がうまくできません。 そこで三つ質問があります。 1.リファレンス等のあるPL/SQLのお薦めサイトってありますか?(日本語onlyで) 2.PL/SQLのお薦めの参考書を教えてください。 3.ファンクションの中で   NAME "Kishuizon_Check"   LIBRARY LIBDDA_EXTERN   LANGUAGE C と書いてあったのですが、今まで見たことのない構文(?)で困ってます。なんとなく意味はわかるものの、きちんと「こういう意味です」というのが知りたいです。 ネットで検索したんですけど、うまくいきませんでした。 以上、初心者の質問ですが、本人は結構真剣に困っていますので皆様にご教示いただきたく思います。 皆様お忙しいとは思いますが、何卒宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.2

こんにちわ。 1, 2 については、No1 の方のおっしゃるように、OTN Japan が良いでしょう。 参考書についてですが、「OTN Book ストア」を見てみては如何でしょう? 送料無料で、5% off で購入できます。 3 の内容ですが、これは「外部プロシージャ」です。 PL/SQL のProcedure/Function をC で作成したライブラリに マッピングしています。 このようにする事で、PL/SQL の中からサーバ上のDLL で提供される 関数を呼び出す事ができます。 → この機能を使うには、Listener を設定してやる必要があります。 詳細は、アプリケーション開発者ガイドにあったかと思います。

参考URL:
http://www.cbook24.com/partner/oracle/oraclePages.asp?page%5Ftype=3&associaterefererid=&promo%5Freferer%5Fid=&promo%5Fle
makinko0129
質問者

お礼

書き込み、ありがとうございます。 詳細な説明ありがとうございます。 本はまだ入門書しか購入していないので、次の一冊はじっくりと選びたいと思います。 お礼が遅くなってしまい、申し訳ございませんでした。

その他の回答 (1)

回答No.1

1.OTNにオンライン・マニュアルがあります。 ユーザー登録しないとダメですが、登録に料金はかかりません。

参考URL:
http://otn.oracle.co.jp/
makinko0129
質問者

お礼

書き込み、ありがとうございました。 早速ユーザ登録をし、利用させていただいております。 お礼が遅れて申し訳ございませんでした。

関連するQ&A

  • PL/SQLでのSQL文法

    こんにちは。教えてください。 PL/SQLを使うのが初めで戸惑っています。 まず、PROCEDUREで =========================== BEGIN SELECT NAME FROM TABLE1 WHERE NAME='tanaka'; END; / =========================== このように書いて実行させようとすると、「コンパイルエラー」 「INTO句はこのSELECT文に入ります」というエラーが出ます。 SQLの文法的には間違ってないと思うのですが、INTO句とはこれいかに?? ネットでPL/SQLで検索かけて調べたのですがあまりにも初歩すぎて わかりませんでした。 PL/SQLやORACLEのメーリングリストでお勧めがありましたら教えてください。 よろしくお願いいたします。

  • PL/SQLの質問です。

    PL/SQLでビューを作るため、ソースを解析していたら以下のような構文が出てきました。 FROM T_a C, M_b CD1, M_c CD2 WHERE CD1.CODEID(+) = '6' AND CD1.CODENO(+) = C.x AND CD2.CODEID(+) = '5' AND CD2.CODENO(+) = C.KJNHJNKBN 僕が分らないところは WHERE句の中にある(+)の部分です。 これの意味はいったい何なのでしょうか。 ご存知の方がいらしたらご教授ください。 宜しくお願い致します。

  • SQLの構文解析

    プログラミング初心者ですがよろしくお願いします。 SQL文の字句、構文解析を行いたいと思っていて、SQL文が書かれたテキストファイルを入力とし、構文木もしくはそれににた情報を出力できるようなものがほしいです。 どこかにSQL構文のパーサーのソースコードライブラリは無いでしょうか?できればフリーがいいです。 C言語やflex,bisonなどのソースコードがあればいいのですが探しても見つかりません。どなたかご存じありませんか?よろしくお願いします。

  • PL/SQL ストアドプロシージャが実行できません

    はじめまして、ほんの最近プログラムの世界に入ったキグと申します。 2週間、インターネットや参考書(ポケットリファレンス、PL/SQL入門)などで調べていたのですが分かりませんでしたので質問させていただきます。 ORACLE11gパーソナルエディションでやっています。 (CSEで作成実行しました。) **************************** 作ったSQL文 CREATE OR REPLACE PROCEDURE PRO_1 IS BEGIN (実行確認できたSELECT文) END ※試してみたこと、 SELECT文の列指定はアスタを使わずに書きました。 AUTHID CURRENT_USERをプロシージャ作成のときに入れてみました。  **************************** EXEC PRO_1 エラー→構文エラーまたはアクセス違反です。 BEGIN PRO_1; END; エラー→オブジェクト'PRO_1'が無効です。 上記エラーが出まして実行できていない状態です。 解決方法が分かる方いらっしゃいましたら、ぜひ回答を お願いしたいです。 以上よろしくお願い申し上げます。

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

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

  • PL/SQLに関しての質問です。

    はじめまして。 PL/SQLの入門書を一冊程度読んで開発に携わってしまった初心者です。 どうしてもわからず、行き詰ってしまったので質問させて下さい。 現在あるパッケージを作成しています。 例えとして、パッケージ内にプロシージャAとプロシージャBが有るとします。 プロシージャA内で、SELECTにてDBから取ってきた値を変数Cに入れます。 その変数Cはパッケージの呼出し元のモジュールに返します。 ここまでは解りますが問題はここからです。 プロシージャAで変数Cに格納した値を、そのままプロシージャBでも使用したいのです。 変数Cを仕様部で宣言して、グローバル変数として使用すれば楽だと思うのですが、 グローバル変数は一切使用してはならない。と言われています。 ご回答お待ちしております。

  • 【PL/SQL】 DELETE文で削除された件数を取得したい

    みなさん今日は。 掲題の通り、PL/SQLでDELETEを行った際に、削除された行数を変数に 格納したいのですが、方法がわかりません。。 どなたかご教授願えますでしょうか。 「事前にカウントした件数」と「削除した件数」が 一致していれば、commitを行うという仕様を実現する必要があるためです。 いろいろ調べた結果、下記ページが参考になりそうなのですが 如何せんPL/SQLは初心なもので、一朝一夕には読み解くことができませんでした。;_; <http://www.gopython.net/doc/pos823/plpgsql-statements.html> なお当方、CやJAVA、シェルの経験はあるので、プログラミングに関してはある程度理解しています。 宜しく御願いいたします。

  • Oracle SQLの文法

    Oracle SQL分のマニアル、検索エンジン、 若しくは ヘルプは無いのでしょうか?  マニアル(本)は購入し、リファレンスを見ればいいのですが・・・ 初心者なので、調べたいもの文法を見つけることが出来ません 宜しくお願いいたします

  • 馬鹿すぎてPL/SQLが全然理解できません-その1

    タイトルの通りで、もう50回くらい翔泳社の 「やさしいPL/SQL入門」を読んでいるのですが、 最初の変数の段階でもう頭が付いていけません(大涙 だからもう、みなさんにすがることにしました。 基本のキを優しく教えて下さい。 もちろん実際は違いますが単純化します。 表名はTBL_1 品名(CHAR),数量(NUMBER),販売日(DATE) COKE,100,07-04-01 COKE,250,07-04-01 PEPSI,150,07-04-01 PEPSI,300,07-04-02 ・・・ ・・・ (旨く表示できないのでカンマで区切りました) 品名毎の日別販売量を把握するには SELECT 販売日,品名,SUM(数量) FROM TBL_1 WHERE 販売日 = 07-04-** GROUP BY 販売日,品名; で良いと思うのですが(違ったりして・・・)、やりたいことは、 1.SYSDATEにて日付を取得し、その前日(つまりは昨日)の分だけを毎日取りたい。 2.且つ実行結果をSPOOLでテキストに吐き出したい。 の2つです。 これをPL/SQLで実現するにはどうしたらいいのでしょう? ダイレクトなお答えをいただけるとうれしいです。 いただいた回答を基に、もう一度本を読み直してみます。 SYSDATEを、宣言した変数に格納し、その変数をSELECT文にあてはめる (上記例の07-04-**の部分)、という考えから抜け出せないのです。 何故にカーソルという物が必要なのかが理解できないのです。 きっとエクセルVBAしか知らないからなのです。

  • PL/SQLについて

    オラクル初心者ですが、他人が作ったSQLのWhere分で下記表記があります。 どういう意味でしょうか? where テーブル1.フィールド名1 = テーブル2.フィールド名1(+) AND テーブル1.フィールド名1 = テーブル3・フィールド名1(+) AND テーブル1.フィールド名1 = テーブル4.フィールド名1(+) AND ・・・・・続く ネットで調べると、結合の書き方のようですが、この場合どういった結合となるのでしょうか? 例えば、通常結合の場合、 SELECT テーブル1.フィールド1, テーブル2.フィールド1, テーブル3,フィールド1 FROM テーブル1 JOIN テーブル2 ON テーブル1.フィールド1=テーブル2.フィールド1 JOIN テーブル3 ON テーブル1.フィールド1=テーブル3.フィールド1 同様と考えてよろしいのでしょうか?