ホーム › フォーラム › A5:SQL Mk-2掲示板 › er図のビューの項目名(with句を使用した場合)
-
投稿者投稿
-
あ
ゲストer図のビューの項目名(with句を使用した場合)
EXECUTE sp_addextendedproperty N’MS_Description’での項目名ですが、with句を使用したcreate view文の場合、項目用のEXECUTE が(一部)作成されませんし、項目名が物理項目名のままです。
with句を使用した場合、実際のselect句が下の方になるのが原因かな?と考えております。
with xxxx as (
select * from tbl_a
)
select
item-a — 項目A
,item-b — 項目B
from
xxxxEXECUTE sp_addextendedproperty N’MS_Description’, N’項目A’, N’SCHEMA’, N’カレントスキーマ名’・・・
のようになって欲しいのです。ご検討のほど、よろしくお願いします。
松原正和
キーマスターあさんこんにちは。
なるほど…。現状パーサーの限界かなとも思えます。修正はちょっと難しいのですが…気長にお待ちいただければと思います。yam
ゲスト横から失礼いたします。
いつも大変ありがたく利用させていただいております。
特にER図が素晴らしく重宝しております。ただしこの問題があるため、残念ながらER図にビュー(マテビューも)を描くことは断念いたしました。
リバースできず手書きになるなら利用するメリットが少ないので仕方ありません。ここからは素朴な疑問です。
テーブルと同様に、ビューのカラム情報もメタデータから取得すれば済む話だと思うのですが、
頑なにSELECT文を自前でパースしようとする理由は何でしょうか?
次のような事情があるのかな?と勝手に推察してはおりますが。1. SELECT句にSQLコメントでカラムコメントを記述する文化?を活用したいため?
私はビューについても COMMENT ON COLUMN ~ IS ‘~’; で記述しているのですが、皆さんどうなのでしょうか?2. カラム情報をメタデータから取得するとしても、全てのRDBMSに対応するのは難しい?
WITH句の件なども含め、SELECT文を完璧にパースする方が難しい気がするのですが、どうなのでしょうか?いずれにしても、改修が簡単でないことは重々承知しております。
松原さんといえども、さすがに難しいですよね。無理は申しません。
今後のさらなる改善に期待しつつ、気長にお待ちしております。松原正和
キーマスターyam さんこんにちは。
返事が大変遅くなり申し訳ありません。
現在、ビューはER図上でSELECT文を自前でパースしてカラム一覧を作っているわけですが、これは、リバース生成した時点ならメタデータからカラム情報(コメント含む)を取り出すことができますが、SELECT文を修正すると、メタデータから取得したカラム情報と一致しなくなる可能性があるためです。
SELECT文でのカラム定義とER図上でのカラム定義を厳密に一致させるには、やはりSELECT文をパースするしかないと考えています。 -
投稿者投稿