■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
引数とIN句の間のスペースが削除される
2021/01/13 19:07
OB
1
salt
OBの製品名 :SI Object Browser for Oracle 19
OBバージョン :19.0.0.0
OBのビット数 :64ビット
OS :Windows10Pro
PROCEDUREの引数とIN句の間に半角スペースが6×N個ある状態で作成すると、
コンパイルは通るのですが、再度開きなおすと引数とIN句の間の半角スペースがすべて削除された状態になります。
具体的には下記のようになります。
作成時
--------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE P_TEST(pStr IN VARCHAR2) IS
BEGIN
RETURN;
END P_TEST;
/
--------------------------------------------------------------------
↓
開きなおした後
--------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE P_TEST(pStrIN VARCHAR2) IS
BEGIN
RETURN;
END P_TEST;
/
--------------------------------------------------------------------
スクリプト実行でPROCEDUREを作成しても、そのPROCEDUREを開くと半角スペースが削除された状態で表示されます。
また一度作成したものを「スクリプト出力」でファイルに出力しても半角スペースが削除されたファイルになります。
一方で引数を改行して下記のようにすると問題なく動作します。
--------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE P_TEST
(pStr IN VARCHAR2) IS
BEGIN
RETURN;
END P_TEST;
/
--------------------------------------------------------------------
OB13で試しましたが同様の現象は起きませんでした。
OB19のエディタ、スクリプト出力に問題があるように思えるのですが、
ご確認お願い致します。
OBバージョン :19.0.0.0
OBのビット数 :64ビット
OS :Windows10Pro
PROCEDUREの引数とIN句の間に半角スペースが6×N個ある状態で作成すると、
コンパイルは通るのですが、再度開きなおすと引数とIN句の間の半角スペースがすべて削除された状態になります。
具体的には下記のようになります。
作成時
--------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE P_TEST(pStr IN VARCHAR2) IS
BEGIN
RETURN;
END P_TEST;
/
--------------------------------------------------------------------
↓
開きなおした後
--------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE P_TEST(pStrIN VARCHAR2) IS
BEGIN
RETURN;
END P_TEST;
/
--------------------------------------------------------------------
スクリプト実行でPROCEDUREを作成しても、そのPROCEDUREを開くと半角スペースが削除された状態で表示されます。
また一度作成したものを「スクリプト出力」でファイルに出力しても半角スペースが削除されたファイルになります。
一方で引数を改行して下記のようにすると問題なく動作します。
--------------------------------------------------------------------
CREATE OR REPLACE PROCEDURE P_TEST
(pStr IN VARCHAR2) IS
BEGIN
RETURN;
END P_TEST;
/
--------------------------------------------------------------------
OB13で試しましたが同様の現象は起きませんでした。
OB19のエディタ、スクリプト出力に問題があるように思えるのですが、
ご確認お願い致します。
返信を投稿
OB
OBサポート
こんにちは。
OBサポートです。
お問い合わせいただいた件につきまして、弊社環境にて再現することを確認いたしました。
SI Object Browser for Oracle 19で対応いたしました、「オブジェクト比較」機能で
ストアドプロシージャを比較すると不一致と検出される場合がある問題の対応で
発生した不具合である模様です。
本事象の発生要因としましては、CREATE文の1行目に引数の記述がある
かつ引数名とIN句の間に{ストアドプロシージャの所有スキーマ名の長さ+1文字}分の
半角スペースが含まれる場合にスペースが削除される形となります。
※ご報告いただいたサンプルのスキーマ名は5文字であったため、6文字分のスペースが
削除される形となります。
現状では、お手数ですがご記載いただいたように引数の記述を
改行していただくか、半角スペースの数を {ストアドプロシージャの所有スキーマ名の長さ+1文字}
とならないようにご変更いただけますでしょうか。
本件につきましては開発側に伝え、今後のバージョンアップ時に対応してまいります。
何卒、よろしくお願い申し上げます。
OBサポートです。
お問い合わせいただいた件につきまして、弊社環境にて再現することを確認いたしました。
SI Object Browser for Oracle 19で対応いたしました、「オブジェクト比較」機能で
ストアドプロシージャを比較すると不一致と検出される場合がある問題の対応で
発生した不具合である模様です。
本事象の発生要因としましては、CREATE文の1行目に引数の記述がある
かつ引数名とIN句の間に{ストアドプロシージャの所有スキーマ名の長さ+1文字}分の
半角スペースが含まれる場合にスペースが削除される形となります。
※ご報告いただいたサンプルのスキーマ名は5文字であったため、6文字分のスペースが
削除される形となります。
現状では、お手数ですがご記載いただいたように引数の記述を
改行していただくか、半角スペースの数を {ストアドプロシージャの所有スキーマ名の長さ+1文字}
とならないようにご変更いただけますでしょうか。
本件につきましては開発側に伝え、今後のバージョンアップ時に対応してまいります。
何卒、よろしくお願い申し上げます。
返信を投稿
OB