ストアドプロシージャを登録したところ、「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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- 電子マネー・電子決済 QUICPayの登録ができない。 4 2023/06/10 10:57
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- ノートパソコン Windows10(?).pcを修復できませんでした の無限ループ PC無知で、アドバイスお願い致し 5 2022/06/26 16:24
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
アクセスでエラー このフィー...
-
『ORA-00936: 式がありません。...
-
列名に変数を使うことはできな...
-
Access 実行時エラー'3075' 対...
-
SQL エラー コードの一覧 につ...
-
BULK INSERTのエラー取得は可能...
-
オラクルでisnumeric?
-
EXP時のSELECT句
-
DocuWorksでの印刷
-
PostgreSqlで、GroupByの使い方...
-
オラクル(PL/SQL)のエラー
-
ODBCデータソースが削除できま...
-
空白はダメというエラーの表示...
-
ACCESS2000の動作とOS環境
-
SQLserver2005 nvarchar を flo...
-
Postagre SQL エラー
-
(素人の質問) SQL Server エ...
-
AccessVBA 実行時エラー'2766'...
-
FETCHエラー(オラクル)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
#1062 - '0' は索引 'PRIMARY' ...
-
列名に変数を使うことはできな...
-
「1004:アプリケーション定義...
-
空白はダメというエラーの表示...
-
アクセスでエラー このフィー...
-
SQLserver2005 nvarchar を flo...
-
SQL文長の制限
-
AccessVBA 実行時エラー'2766'...
-
BULK INSERTのエラー取得は可能...
-
オラクル(PL/SQL)のエラー
-
DocuWorksでの印刷
-
オラクルでisnumeric?
-
実行時エラー459 withステート...
-
Access2010実行時エラー-21473525
-
Transact-SQLのBULK INSERTでエ...
-
SQLCODE=-420とはどういうエラ...
-
PL/SQL ORA-06502エラーに関し...
-
MySQLでcreateが使えない MySQL...
-
『ORA-00936: 式がありません。...
-
(素人の質問) SQL Server エ...
おすすめ情報