■SI Object Browser 掲示板


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

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

discussion
※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】
※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。
※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。
※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。
カラムのデフォルトが"NULL"の場合の表示 2011/10/28 17:53 OB 4
お世話になっております。
ObjectBrowser for Oracle 11.1.0.0を使用しています。

カラムのデフォルトとして"DEFAULT NULL"を指定したテーブルを作成した場合、
テーブル定義情報の"省略時値"およびソースの該当カラムの箇所に
"DEFAULT NULL"が表示されません。

以前使用していたOB8では問題なく表示されていました。


必要な設定等ありましたら教えてください。

以上、お手数ですが、宜しくお願いいたします。
こんにちは。
OBサポートです。

DEFAULT値にNULLを指定した列を持つテーブルの定義情報、ソースに
情報が表示されないとの件につきまして、弊社環境にて確認を行いましたが
Ver.8、Ver.11いずれも再現いたしませんでした。

Ver.8とVer.11間での変更点としましては、Oracle 11g対応(Ver.10.2)における
仮想列対応を行っており、参照するディクショナリビューがOracle Databaseの
バージョンによって異なっております。
 ・Oracle 11g: ALL_TAB_COLS
 ・それ以前 : ALL_TAB_COLUMNS (Ver.8では、共通でALL_TAB_COLUMNSを参照)

恐れ入りますが、以下のSQLにて該当列にDEFAULT値が格納されているか
ご確認いただいてもよろしいでしょうか。

SELECT COLUMN_NAME, DATA_DEFAULT
FROM ALL_TAB_COLUMNS /* Oracle 11gの場合、ALL_TAB_COLSに変更 */
WHERE OWNER = 'スキーマ名' and TABLE_NAME = 'テーブル名'
ORDER BY COLUMN_ID

何卒、よろしくお願いいたします。
お世話になります。

該当列のDEFAULT値を確認したところ、問題なく"NULL"と設定されています。

接続するOracleは以下の2バージョンで、どちらもDEFAULT値が"NULL"にも
かかわらず表示されない状態です。

・Oracle 9.2.0.8.0
・Oracle 11.2.0.2.0

双方のバージョンともOB 8.0.4.10では問題なく表示されています。

ちなみにクライアントOSはWinXP-sp3でOracleクライアントは上記2バージョン
の両方を試しました。

以上、宜しくお願いいたします。
こんにちは。
OBサポートです。

お問い合わせいただいている件につきまして、改めまして開発側に確認しましたところ
Object Browser Ver.10より「DEFAULT NULL」の値については表示しないよう
対応したとの回答がございました。

理由としましては、
 ・一度DEFAULT値をNULL以外の値で設定し、空白にして定義変更しても
  Oracleの動作上「NULL」というデータが表示されてしまう。

 ・CREATE TABLE TABLE_NAME(COLUMN NUMBER DEFAULT NULL)
  CREATE TABLE TABLE_NAME(COLUMN NUMBER)
  という2つのCREATE文は、Oracle上では同一となる(※)ため
  「NULL」を表示する必要性が薄い。
  ※DEFAULT句が未指定の場合は暗黙的に「DEFAULT NULL」となる

上記2点とObject Browser上での可読性を考慮した上での
対応となります。

なお、再現しないと前回記載いたしましたが、省略時値に
小文字で「null」と記入した場合に表示されるケースがある模様です。

こちらにつきましては、障害として開発側に伝え、次期バージョン以降での
対応を検討させていただきますが、Object Browserでは「DEFAULT NULL」を
表示しない動作となりますこと、ご了承いただけますでしょうか。

何卒、よろしくお願いいたします。
お世話になります。

仕様変更の件、了解いたしました。

ご対応ありがとうございました。