■SI Object Browser 掲示板


ユーザの皆様、開発者、サポート担当者の交流のための掲示板です!

ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。
なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。

discussion
※各投稿のカラーは対象となる製品に対応しています。【…OB …OBER …全般 …その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
エラーチェック 2025/02/26 14:56 OB 1
例えばprocedureで呼び出すfunctionやprocedureが存在しなくてもエラーにならず実行時に存在チェックされエラーとなります。
仕様になりますでしょうか(Postgres側の問題?)
OBサポートです。
本件、ご回答が大変遅くなってしまい、誠に申し訳ありません。

■内部プログラムのチェックについて
誠に恐れ入ります、ストアドプログラム内部で呼び出されるプログラムに関しましては、
構文上の誤りがない場合にはPostgreSQL側でコンパイル自体は成功する(遅延評価される)動作となりますため、
SI Object Browser側でもこれらのチェックは行っておりません。
※これはCREATE OR REPLACE PROCEDURE/FUNCTIONの発行した結果をSI Object Browser側で表示しているためです。

こちらの動作に関しては手続き言語によって異なり、Oracle DatabaseなどのPL/SQLにおいてはコンパイル時点での内部プログラムの評価が行われる動作を確認しております。
一方でPostgreSQLにおけるPL/pgSQLにおいては、内部プログラムの評価は実行時に行われるため、
コンパイル時に不正なプログラムを定義していても、構文上の誤りがなければコンパイルができてしまう動作となります。

本件、大変ご不便をおかけしてしまい、誠に申し訳ありません。
何卒よろしくお願い申し上げます。