• 締切済み

PL/SQLのコンパイル

MarrowGの回答

  • MarrowG
  • ベストアンサー率53% (41/76)
回答No.1

キーワードと一言で言われていますが、PL/SQLに限らずプログラミング言語には言語固有の多くのキーワードが存在します。 恐らく、タイプミスか構文の記述ミスだと思います。 どういった部分で該当のエラーが出るのか、差し支えない範囲でプログラムリストを提示していただければ、もう少し詳しく回答できると思います。

saruno
質問者

補足

ありがとうございます。僕の書いたソースをコピペします。 CREATE OR REPLASE VIEW USERCOST.VW_KENSAK (ROWDATA,CUSTID,CUSTNM,CUSTKNM,SEX,PHONENO,JITUWORKERID,ADDR) AS SELECT R.CUSTID || CHR(9) || C.LASTNM || ' ' || C.FIRSTNM                   || CHR(9) || C.LASTKN || ' ' || C.FIRSTKN                   || CHR(9) || C.SEX                     || CHR(9) || DECODE(C.PHONENO,NULL,C.MOBILENO,C.PHONENO)                     || CHR(9) ||                          R.JITUWORKERID                    || CHR(9) || C.ADDR1 || C.ADDR2 || C.ADDR3                     || CHR(9) || AS ROWDATA, R.CUSTID, C.LASTNM || ' ' || C.FIRSTNM AS CUSTNM, C.LASTKN || ' ' || C.FIRSTKN AS CUSTKNM, C.SEX, DECODE(C.PHONENO,NULL,C.MOBILENO,C.PHONENO) AS PHONENO, R.JITUWORKERID, C.ADDR1 || C.ADDR2 || C.ADDR3 AS ADDR FROM T_CUSTOMER C, T_RIREKI R WHERE C.CUSTID = R.CUSTID / とりあえず何回も間違いを直してコンパイルしてみたのですがコンパイルができません。どこが間違っているのでしょうか。

関連する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(Oralce)で、NVARCHAR2の変数を宣言した場合、その変数への代入方法を教えてください。 Hensu NVARCHAR2; と宣言し、 Hensu := N'テスト'; とした場合、コンパイルエラーとなりませんが、 Hensu  NVARCHAR2; Hsensu1 VARCHAR2; と宣言し、 Hensu := N || Hsensu1; とした場合、”識別子Nを宣言してください。”旨のコンパイルエラーが出力されていしまいます。 OracleはR8.1.7です。 よろしくお願いします。

  • PL/SQLのエラーについて

    こんばんは。PL/SQLのエラーについて質問させて頂きます。 現在、Oracle8.1.7のデータベースを使用したオラクルのE-business Suiteという人事系システムで開発をしています。 そこで、SQL*Plusを使用してPL/SQLのパッケージをコンパイルしたところ、パッケージ仕様部も本体部もコンパイルのエラーは出なかったのですが、E-business SuiteにPL/SQLを設定し、動作させようとしたら、下記のようなエラーが発生しました。 -------------------------------------------------------------------- FDPSTP 内のOracleエラー 6550 原因: ORA-06550: 行 1、列 7: PLS-00221: 'ZT_TYOUHYOU_HENSEI_PKG'がプロシージャではないか、または未定義です。 ORA-06550: 行 1、列 7: PL/SQL: Statement ignored が原因で FDPSTP に失敗しました。 --------------------------------------------------------------------- また、作成したPL/SQLパッケージの仕様部は下記のとおりです。 -------------------------------------------------------------------- CREATE OR REPLACE PACKAGE APPS.ZT_TYOUHYOU_HENSEI_PKG AS FUNCTION get_henseihyo_kbn (i_grade IN VARCHAR2,o_hensei_kbn OUT VARCHAR2) RETURN NUMBER; <・・・・・中間部分は省略・・・・・> PROCEDURE main_shori (p_process_date IN VARCHAR2, p_location IN VARCHAR2); END ZT_TYOUHYOU_HENSEI_PKG; -------------------------------------------------------------------- 原因だと思われる心当たりの部分も探してみたのですが、このエラーの意味は何なのか、原因はどこにあるのか分かりません。 どなたかお判りの方、御回答よろしくお願い致します。

  • PL/SQL

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

  • PL/SQLについて

    PL/SQLについて お世話になります。 現在Oracle 11gと.Net C#で開発をしている物です。 正直どちらも初心者で悪戦苦闘している日々ですが、 PL/SQLのカーソルについて知りたい事があります。 PL/SQLでカーソルを作成しました。 そしてその同一ストアドプロシージャ文の中で、 先のカーソルの結果で得られた値から別の新たなカーソル でまた新たな結果を返すと言う様な、二重カーソルの様な 事は可能でしょうか。 どなたかご親切な方、ご教授頂きたく宜しくお願い致します。 出来れば、サンプルや、HP等ご紹介頂ければありがたく 思います。

  • PL/SQLからPL/SQLのコール

    すみませんが、教えて下さい PL/SQLのソースからPL/SQLのソースをCALLする事は可能なのでしょうか? (プロシジャ・ファンクション等のストアドプログラムを使用せず) 知っている方がいましたら、回答をお願いしますm(_ _)m

  • SQLとPL/SQLの違いなど

    いま会社でPL/SQLのシステムを構築する話が持ち上がっているのですが SQLとPL/SQLでどのような違いがあるのかがいまいち分かりません。 あと、PL/SQLの開発システムを導入しようとするときに どのようなソフトを入れればよいのかも、よく分かっていない始末です。 単純な質問なのかもしれませんが、わかる方よろしくお願いします。

  • ROW_NUMBER BY PL/SQL

    こんばんは。 今PL/SQLで開発をしているのですが、PL/SQLでわからないことがあります。 日付のソート順に並べたデータの中から、何行目から何行目までのデータを取得、ということがしたくてROW_NUMBERを使ってSQL文を作成しました。 そのSQL文はきちんと動くのですが(データ取得できる)、それをPL/SQLにてカーソル宣言するとコンパイルエラーになってしまいます。 ROW_NUMBERの部分を削除するとコンパイルは通るので、原因はROW_NUMBERにあるようです。 しかしながら、ROW_NUMBERを使わずに、何行目から何行目までのデータ取得、ということが実装できるのか検討もつきません。 どうしてカーソルでROW_NUMBERが使えないのか? ROW_NUMBERのかわりのようなコマンド、もしくは実装方法が存在するのか? 不明な点は補足させていただきますので、ご教示の程宜しくお願い致します<(_ _)>

  • Oracle10g、SQLコンパイルした日時一覧の出し方

    お世話になります。 Oracle10gにて、PL/SQLのプロシージャをコンパイルした日時を一覧にしてテキストファイルに出力するか、コピペでエクセルか何かに貼り付けて、正しくコンパイルされたプログラムが動いていることの確認に使いたいのですが、プロシージャ毎のコンパイル日時(更新日時?)を出すようなSQL文をご存知でしたら教えてください。 よろしくお願いします。

  • 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句の中にある(+)の部分です。 これの意味はいったい何なのでしょうか。 ご存知の方がいらしたらご教授ください。 宜しくお願い致します。