
ストアドプロシージャを登録したところ、「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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL*Loaderで「オブジェクトが...
-
SQLCODE=-420とはどういうエラ...
-
UPDATEを使ったSQL文にて
-
Access 実行時エラー'3075' 対...
-
SQLサーバー2012 アンインスト...
-
エクセルのエラー非表示の仕方
-
列名に変数を使うことはできな...
-
SQLserver2005 nvarchar を flo...
-
ODBCデータソースが削除できま...
-
アクセスでエラー このフィー...
-
#1062 - '0' は索引 'PRIMARY' ...
-
オラクル(PL/SQL)のエラー
-
【Excel】[Expression.Error] ...
-
「○○○.ldb」のAccess レコード ...
-
事務の派遣で働いています。多...
-
SQLPLUSで結果を画面に表示しない
-
ACCESS で 項目名を出力せずに...
-
Accessで以下のシステムを1か...
-
Becky!で「メールサーバーへの...
-
共有フォルダに誰が何にアクセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
オラクル(PL/SQL)のエラー
-
アクセスでエラー このフィー...
-
列名に変数を使うことはできな...
-
DocuWorksでの印刷
-
Transact-SQLのBULK INSERTでエ...
-
BULK INSERTのエラー取得は可能...
-
『ORA-00936: 式がありません。...
-
AccessVBA 実行時エラー'2766'...
-
空白はダメというエラーの表示...
-
Access2010実行時エラー-21473525
-
エラーについて
-
SQLserver2005 nvarchar を flo...
-
UPDATEを使ったSQL文にて
-
重複チェックを行わず、INSERT...
-
実行時エラー459 withステート...
-
コンテキストにバインド???
-
VBAで RecordSet を扱うには?
-
Access 実行時エラー'3075' 対...
-
AccessからORACLEへのリンク設...
おすすめ情報