ストアドプロシージャを登録したところ、「EXCEPTION」キーワードをORACLEが
認識してくれずエラーが返ってきました。どうしてか教えて下さい。
よろしくお願いします
プロシージャのコード)
CREATE OR REPLACE PRCEDURE TEST_PROC(
P1 OUT NUMBER,
P2 OUT VARCHAR2 ) AS
BEGIN
UPDATE VIEW経理システム制御F SET 処理状況 = '';
COMMIT;
EXCEPTION WHEN OTHERS THEN
P1 := SQLCODE;
P2 := SQLERRM;
END;
/

登録時のメッセージ)
エラー行: 1: エラーが発生しました。
ORA-00922: オプション指定されていないか、または無効です
不明なコマンドです(開始"EXCEPTION ...")。行の残りは無視されました。
不明なコマンドです(開始"P1 := SQLC...")。行の残りは無視されました。
不明なコマンドです(開始"P2 := SQLE...")。行の残りは無視されました。
不明なコマンドです("END")。行の残りは無視されました。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。



1行目で、エラーなのでそもそも、プロシージャ構文では無いでしょうか?

ORACLEって、パッケージにしなければならないのでは???
  ↑
ウチのプロジェクト中の勝手なルールかも(^^;

とりあえず、パッケージにしてみてはどうでしょう。
TEST_PACKという、パッケージにする例

CREATE OR REPLACE PACKAGE BODY TEST_PACK AS
  PROCEDURE TEST_PROC( 
  P1 OUT NUMBER,
  P2 OUT VARCHAR2 ) AS
  BEGIN
  UPDATE VIEW経理システム制御F SET 処理状況 = '';
  COMMIT;
  EXCEPTION WHEN OTHERS THEN
  P1 := SQLCODE;
  P2 := SQLERRM;
END TEST_PACK;
/

では、だめですか?
目的と違うかもしれませんが・・・。
なんか、動いているのを見ると、どうも、ウチのはパッケージになってるようなので。

参考になれば、でわ。
    • good
    • 0

Haizyさんの言うとおり、1行目で構文エラーです。


PROCEDUREの綴りが間違っているように見えますが。。。
ここに記載した内容が間違っているだけでしょうか?

Haizyさんへ。
パッケージでなくても、例外処理は記載できます。
パッケージで作成しているのは、プロジェクト内での
コーディングルール等ではないのでしょうか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qえー、あーの代わりに何を言えばいい?

えー、あーの代わりに何を言えばいい?

就活中の大学生です。
面接で急な質問に返答来た時、内容を考えるためにえーあーと言って時間を稼いでいましたが、
非常に印象が悪くなるのでどうにかしたいです。

何かえーあーに変わる、印象の良い言葉はありませんか?

Aベストアンサー

何も言わない。

無言って別に悪くないんですよ。
日本語で「間」と言いますけど。
即答だから評価上がるとかもないですし。

僕は即答しません。3-5秒は無言です。そこから答える。
もちろん10-30秒も無言になる場合は「ちょっと考えさせて下さい」とか言うけど。
他には「・・・はい」って言います。
これで3-5秒稼げる。その間に考えます。

あと
考えながら喋った内容ってぐだぐだになるから、公的な場だと
頭の中で自分なりに結論出してから喋った方がいいですよ。

QDataSet ds = new DataSet();

DataSet ds = new DataSet();
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);

でデータを格納したときに、
重複データを省きたいのですが可能でしょうか?

DataReader
ならひとつひとつ格納していくので、
重複データを省くことができるのですが。

Aベストアンサー

最近プログラム書いていないので間違っていたらすいません。

da.SelectCommand = cmd でデータを取得するSQL文(Select文)をセットしていると思いますが、そのSelect文にdistinctキーワードをつけてSQLの段階で重複を省けばいいのではと思います。

Qなんだったかなー。えーっっと。あー。・・・思い出せない。

自分にとって不愉快な人がいるとします。
その人が他人ならば距離をとって無視すれば済むけれど、
それが身内となるとそうはいかない。

という意味の言葉があったと思うのですが。
分かる方いらっしゃいますかね。

Aベストアンサー

「近親憎悪」では。
http://ja.wikipedia.org/wiki/%E8%BF%91%E8%A6%AA%E6%86%8E%E6%82%AA

QSQL: insert/importコマンドの違い

基本的なことを聞いてすみませんが、insertコマンドとimportコマンドの違いは何でしょうか?使い方について教えてください。importコマンドにもinsertオプションがあり、混乱しています。。

Aベストアンサー

RDBMSは、何ですか?

Q人前で話す時の「えー」

くだらない疑問で申し訳ありません。
先日、旅行業者の方が高校の修学旅行に関する説明を、講堂でしてくれたのですが、あまりにも話の合間に「えー」「えー」が多すぎるので、非常に気になりました。

「毎月払いの、えーー、コースの場合は、えーー、口座から、
えーー、自動振り替えに、えーー、なります。えーー、
諸事情などで、えーー、引き落とし不能で、えーー、
遅滞した場合は、えーー、当社より、えーー、書面などで、
えーー、ご通知申し上げます、えーー・・・」
と、誇張ではなく、こんな感じでした。

質問は二つ。
1.この「えー」は、なんなんでしょうね?
(黙って次の話に持って行けないものか)
2.本人は「えー」を多発していることに気づかないのでしょうか?

人前で、しかも仕事で話す場合は、
なるべく見苦しくない話し方を心がけるべきだと思うのですが。

Aベストアンサー

>1.この「えー」は、なんなんでしょうね?

話のヘタクソさを示す尺度です。「えー」が多いほど話がヘタクソなのです。おそらく何らかの縁故で使ってもらっている三流業者だと思います。普段から競争の中に身を置きながら常に向上心を持つ業者ならば、「顧客にとってわかりやすい話し方をする」ことに大きな注意を払います。こんな基本的なことさえ出来ていない業者ですから、劣悪なサービスを割高な価格で押し付けてる業者だと思いますよ。

>2.本人は「えー」を多発していることに気づかないのでしょうか?

おそらく「自分は人前で話をするのが上手い」とか「みんな俺の話に聞き入っている」などと妄想してるのだと思います。まさか自分の話し方がうっとうしいなどとは夢にも思っていないでしょうね。

でも世の中には気づいていないどころか、あえて「えー」を多用している迷惑な人達もいます。ろくに出世できずに年を取ってしまった高齢者に多く見られるのですが、昔の政治家の影響なのか「えー」とか「あー」を連発するほうが話が上手く聞こえると錯覚している人が稀にいますね。田舎の結婚式などのスピーチで、話の中身は空っぽのつまらない原稿をただ読んでるだけなのに、「えー」とか「あー」とかやたらに言う年寄りなんかが典型例です。

>人前で、しかも仕事で話す場合は、なるべく見苦しくない話し方を心がけるべきだと思うのですが。

おっしゃる通りです。「えー」を多発する人間は単位時間あたりの頭の回転数が低く、まきこまれる(話を聞かされている)こちらはたまったものではありませんよね。最悪でも「結論を先に」「要点だけを言え」の2点は守って欲しいものです。(頭の回転が遅い奴にとっては「えー」が要点で「あー」が結論だったりして…)

>1.この「えー」は、なんなんでしょうね?

話のヘタクソさを示す尺度です。「えー」が多いほど話がヘタクソなのです。おそらく何らかの縁故で使ってもらっている三流業者だと思います。普段から競争の中に身を置きながら常に向上心を持つ業者ならば、「顧客にとってわかりやすい話し方をする」ことに大きな注意を払います。こんな基本的なことさえ出来ていない業者ですから、劣悪なサービスを割高な価格で押し付けてる業者だと思いますよ。

>2.本人は「えー」を多発していることに気づかないのでしょ...続きを読む

Qマクロの「アクション:コマンドの実行」の使い方

アクセス2003、windows-xpを使っています。

どうしてもわかりません。教えてください!!

フォームの中にボタンを作成します。
そのボタンをクリックすると、その都度"追加クエリAが作成され、更新クエリを走らせ、またその追加クエリAを消去させる"ということをしたいと思いました。

そこで、マクロを見たら「アクション」に「コマンドの実行」を表示させると、「コマンド」欄に「追加クエリの作成」というのがでてきました。
これだ!と思いやってみたのですが、エラーになってしまいます。
どうしたら、マクロの中にある、「コマンドの実行」というマクロを使うことができるのでしょうか?

(いまいち、マクロにあるアクションの組み立て方が判らないのですが、参考になりそうなサイトはないでしょうか?)

なんとか、みなさんにご相談しながらアクセスで集計システムを作成しておりますが、自分のアクセスレベルの低さにはがゆさを感じている次第です。
どなたかおわかりになりましたら、教えてください。
宜しくお願い致します。

Aベストアンサー

 動作の度にクエリを作成するのですか?1つのクエリを
条件式をパラメータ化することで回避できたりしません?
追加先が一定の場合なら、条件式を操作するだけになる
と思うので、一度検討してみては?
 ちなみにコマンドの実行って、新規にクエリのウィザー
ドが開くだけで、決まったクエリの内容を自動生成する訳
ではないです。メニューバーにある内容を選択できると
いった機能です。

Q「笑っていいとも」で「えー」って言われなかったゲスト

今年にはいってですが、ぼーとみててきちんとおぼえてないんですが、たしか「お友達を紹介して」とタモリがいうと、会場から「えー」って言う声がしなかったんです。
で、そのときは、もう「えー」っていうのは、やめたんだなとおもっていたのですが、数日してみていると、以前のように「えー」といってるんです。
で、会場から「えー」といわれなかったゲストってだれですか?
また、何か理由があったのでしょうか?
頭が朦朧としてるときにみていたので、もしかしたら、記憶違いかもしれないのですが。。。

Aベストアンサー

原田大二郎さんは言われなかったらしいですよ。
たまにタモリ自身が言ってますから、本当だと思います。

「原田大二郎 いいとも えー」で調べてみたら、↓があったのでご覧になってみてください。

参考URL:http://piza.2ch.net/log/tv/kako/962/962314682.html

QAccess2002:コマンドボタンがうまく設定できません

使い始めてから2週間目の初心者です。よろしくお願いします。

コマンドボタンウィザードでフォーム上にコマンドボタンを作成したのですが、クリックしても反応しません。

初めは問題なく作成できたのですが、突如としてうまく動作するボタンが作成できなくなってしまいました。
ウィザードで作成した「レコードの検索」ボタンですら無反応です。
あるフォームのイベントプロージャ(?)は以下のようになっています。
(★はコメントです)


Option Compare Database

Private Sub テスト15:09_Click()

End Sub

Private Sub 部番一覧→部番詳細フォーム_Click()★←正しく動作しているボタン★
On Error GoTo Err_部番一覧→部番詳細フォーム_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "部番詳細表示"

stLinkCriteria = "[部番]=" & "'" & Me![部番] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_部番一覧→部番詳細フォーム_Click:
Exit Sub

Err_部番一覧→部番詳細フォーム_Click:
MsgBox Err.Description
Resume Exit_部番一覧→部番詳細フォーム_Click

End Sub←★この下に区切り線が表示されません★
Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★
On Error GoTo Err_テスト15:09_Click


Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70

Exit_テスト15:09_Click:
Exit Sub

Err_テスト15:09_Click:
MsgBox Err.Description
Resume Exit_テスト15:09_Click

End Sub


単純ミスだと思うのですが、原因がわかりません。
どなたかわかりやすく教えいただけないでしょうか。ちなみにVBの知識は皆無です。よろしくお願いします。

使い始めてから2週間目の初心者です。よろしくお願いします。

コマンドボタンウィザードでフォーム上にコマンドボタンを作成したのですが、クリックしても反応しません。

初めは問題なく作成できたのですが、突如としてうまく動作するボタンが作成できなくなってしまいました。
ウィザードで作成した「レコードの検索」ボタンですら無反応です。
あるフォームのイベントプロージャ(?)は以下のようになっています。
(★はコメントです)


Option Compare Database

Private Sub テスト15:09_Cli...続きを読む

Aベストアンサー

> End Sub←★この下に区切り線が表示されません★
> Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★

ということですと、「テスト15:09」という名前のコントロールの、名前の付け方がひっかかっているのではないでしょうか?特に「:」の部分です。

通常、コントロールの名前に記号など(%、”、$、&、!、:、。、などなど…)を使うと今回の例のように「何かの拍子に」文字色赤になって動かなくなります。

何かの拍子…というのは、mdbファイルを別のパソコンにコピーしてコピー後のmdbを開いたり、強制終了させておかしくなったり・・・などです。

直すには、いったんプロシージャを消して、mdbファイルを起動しなおし、もう一度コントロールのプロパティの該当するイベントから入りなおし、プログラムコードを書くことです。いったんmdbを起動し直せば、コードを書くのはコピペでOKです。

今回の場合ですと、「Private Sub テスト15:09_Click()」から最後の「End sub」までを全ていったん消します。で、mdbを再起動させたあとに、もう一度コントロールのプロパティからクリックイベントを開いて、

On Error GoTo Err_テスト15:09_Click
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Exit_テスト15:09_Click:
Exit Sub
Err_テスト15:09_Click:
MsgBox Err.Description
Resume Exit_テスト15:09_Click

の部分をコピペします。

************************************

ただ、コントロール名が同じままだと、この問題は再度繰り返し出てきます。

なので、この際、コントロールの名前を変えてから(:を使わない名前に変えてから)、コードをコピペするといいと思います。

また、このようなトラブルは、連結フォーム(連結テキストボックス)にありがちなトラブルですので、テーブルを作る時点で、フィールドの名前の付け方に注意しないといけない…ということにもなります。

まったくの見当違いでしたらごめんなさい。

> End Sub←★この下に区切り線が表示されません★
> Private Sub テスト15:09_Click()★←無反応のボタン。文字色赤になっています★

ということですと、「テスト15:09」という名前のコントロールの、名前の付け方がひっかかっているのではないでしょうか?特に「:」の部分です。

通常、コントロールの名前に記号など(%、”、$、&、!、:、。、などなど…)を使うと今回の例のように「何かの拍子に」文字色赤になって動かなくなります。

何かの拍子…というのは、mdbファイルを別のパソコンにコピーし...続きを読む

Q不出来な業界人の「えー」は伝染する?

えー、かなりの時間、あちこちの局ザッピングで地震被害報道に見入っていますが・・・
(とわざと使ってみましたが)

大勢の人の命が失われている沈痛な思いに加えて、レポーター.コメンター・中にはアナウンサーまで、やたら「えー・・・」言葉が目立ってイライラが募ります(`ヘ´;)

国会議員などの話し方には、「えー」の多用人ほど、説得力資質に無能な人とか、話のウソ・言い訳具合がわかるからまぁ落選させる目安になるからいいとして・・・・

報道番組、事実を淡々すばやく聴かせてもらいたい中で、この「えー」は無能の価値基準になっていないのでしょうか?

あちこち地方の出来の悪そうな現場リポーターが登場するたび、息継ぎ「えー」ばかりのキレの悪い見苦しいのが多く、そういう間延びにつられてか、専門家であるはずの局アナウンサーにまで伝染しているような感じです。

書かれたニュース文を読み上げるでない、生の話し方のやりとりの報道番組は神経をつかうと思いますが、アナウンサーやリポーターの教育の中に、「えー」という間延び語は使ってはいけないという指導や規範はないのでしょうか?

えー、かなりの時間、あちこちの局ザッピングで地震被害報道に見入っていますが・・・
(とわざと使ってみましたが)

大勢の人の命が失われている沈痛な思いに加えて、レポーター.コメンター・中にはアナウンサーまで、やたら「えー・・・」言葉が目立ってイライラが募ります(`ヘ´;)

国会議員などの話し方には、「えー」の多用人ほど、説得力資質に無能な人とか、話のウソ・言い訳具合がわかるからまぁ落選させる目安になるからいいとして・・・・

報道番組、事実を淡々すばやく聴かせてもらいたい中で、この...続きを読む

Aベストアンサー

確かに聞きづらいですね。
私もイライラしました。
同様の声がその放送局に抗議の電話が来ている様ですよ。

QSQL*Plus:SPOOLコマンドでのSQL出力

Oracle SQL*Plusで、SPOOLコマンドを使用すると、SQL実行の結果はファイルに出力されますが、実行したSQL自身が出力されません。
SETコマンドで制御できるのではないかと思いましたが、ちょっと見当たりませんでした。
何か方法はないでしょうか?
よろしくお願いします。

Aベストアンサー

SET ECHO {ON|OFF}
っていうのがあったと思いますよ

詳しくはマニュアルを参照して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング