ストアドプロシージャを登録したところ、「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")。行の残りは無視されました。
No.1ベストアンサー
- 回答日時:
こんにちは。
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;
/
では、だめですか?
目的と違うかもしれませんが・・・。
なんか、動いているのを見ると、どうも、ウチのはパッケージになってるようなので。
参考になれば、でわ。
No.2
- 回答日時:
Haizyさんの言うとおり、1行目で構文エラーです。
PROCEDUREの綴りが間違っているように見えますが。。。
ここに記載した内容が間違っているだけでしょうか?
Haizyさんへ。
パッケージでなくても、例外処理は記載できます。
パッケージで作成しているのは、プロジェクト内での
コーディングルール等ではないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access2010実行時エラー-21473525
-
(素人の質問) SQL Server エ...
-
SQL*Loaderで「オブジェクトが...
-
SQLserver2005 nvarchar を flo...
-
AccessVBA 実行時エラー'2766'...
-
#1062 - '0' は索引 'PRIMARY' ...
-
ADODBを使用してRecodesetでFie...
-
ACCESSでエラー時に再起動する方法
-
AccessのMDBのオープンエラーに...
-
SQLCODE=-420とはどういうエラ...
-
エラーについて
-
『ORA-00936: 式がありません。...
-
一般的なネットワークエラーに...
-
列名に変数を使うことはできな...
-
CREATE TEMPORARY TABLEを複数...
-
実行時エラー459 withステート...
-
SQL文長の制限
-
オラクルでisnumeric?
-
DocuWorksでの印刷
-
PL/SQL ORA-06502エラーに関し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
アクセスでエラー このフィー...
-
列名に変数を使うことはできな...
-
空白はダメというエラーの表示...
-
SQLserver2005 nvarchar を flo...
-
AccessVBA 実行時エラー'2766'...
-
(素人の質問) SQL Server エ...
-
DocuWorksでの印刷
-
Access2010実行時エラー-21473525
-
UPDATEを使ったSQL文にて
-
オラクル(PL/SQL)のエラー
-
Access 実行時エラー'3075' 対...
-
「1004:アプリケーション定義...
-
実行時エラー459 withステート...
-
エラーについて
-
SQL文長の制限
-
BULK INSERTのエラー取得は可能...
-
SQLCODE=-420とはどういうエラ...
-
DISTINCT + COUNT
-
PL/SQL ORA-06502エラーに関し...
おすすめ情報