こんにちは。ご質問させて頂きます。
現在、業務でprocを用いてoracleデータベースを扱う業務アプリを開発している者なのですが、
pcファイルにコメント込み(/〜*/で括った形のコメント)で埋め込んだSQL分を記述し、プリコンパイルすると、作成されたcファイルには該当のSQL文中のコメントが無くなって記述されてしまいます。
例えばpcファイルに以下のようなSQL文を記述し、
EXEC SQL AT :psz_dbname SELECT NAME FROM EMPLOYEE /* SQL-ID : selEmployee */;
プリコンパイルし、作成されたcファイルには該当のSQLが以下のように記述されてしまいます。
sqlstm.stmt = “SELECT NAME FROM EMPLOYEE”;
この為、このpcファイルからコンパイルして作成された実行モジュールを実行して上記のSQLが発行されますと、v$sqltextテーブルには以下のように登録されます。
SQL_TEXT
SELECT NAME FROM EMPLOYEE;
ところが、お客様としては、大量のSQLが発行されている中で目的のSQLをv$sqltext から素早く検索できるように以下のような形で登録される事を望んでいます。
SQL_TEXT
SELECT NAME FROM EMPLOYEE /* SQL-ID : selEmployee */;
この形ならselEmployeeで曖昧検索すれば、該当のSQLを一意に特定できます。
従いまして、pcファイルにコメント付きで埋め込んだSQL文がプリコンパイルによって作成されたcファイルに記述された該当のSQL文からコメント部が削除されるのをどうしても防ぎたいのですが、その方法が分かりません。
大変困っていまして、
どなたかお分かりになられる方がいましたら、是非ともご教授頂きたく、
何卒、よろしくお願い致します。