|
■No29153 (がぼん さん) に返信 > ■No29144 (やじゅ さん) に返信 > SQL Management Studio Expressってやっぱり使えなさそうですね
うーん、Management Studio Expressが使えないかどうかはわからないけど、俺は自分でツールを作ってますね(市販やフリーだと、自動コード生成とかちょっとしたことに応用できないので。IDEには組み込んでないけどそれなりに使えます)
列名なら↓こんな感じで取得できますし、リレーションはsysobjectsから辿れば取得できます。
SELECT c.[name] AS [name], p.[name] AS [type], c.max_length AS length, c.scale, c.is_nullable AS isnullable, ep.[value] AS [description] FROM sys.extended_properties AS ep INNER JOIN sys.tables AS t ON ep.major_id = t.[object_id] INNER JOIN sys.columns AS c ON ep.major_id = c.[object_id] AND ep.minor_id = c.column_id INNER JOIN sys.types AS p ON c.system_type_id = p.system_type_id WHERE class = 1 AND t.name = 'hoge' ORDER BY c.column_id;
あとはダイアグラムにするなり、TreeView使うなり自由に作っておけばちょっとした時に対応できると思います:-) (ちなみに、MSSQL2000の頃から作成しているので、ストアド使わずにsys系を参照してるので将来不安ですけど、鯖のVerや別DBMSによってエンティティクラスを動的に生成してViewとは疎結合してるのでView側では問題ないかなとw)
こういうのを作成しておくと、MSSQL2005の怪しい部分とか見えてきたりするので結構便利です。 Management Studioは信用できない部分もありますしね(sysindexes周りとかw)
|