データベース名、データテーブル名、フィールド名、プライマリ・キー、識別カラム関連クエリー
4900 ワード
SQL SERVER 2008で使用---すべてのデータベース名を問い合わせる
----データベース内のすべてのテーブル名を問い合わせる
----クエリーデータテーブルのフィールド情報
1 SELECT Name FROM Master..SysDatabases ORDER BY Name
----データベース内のすべてのテーブル名を問い合わせる
1 SELECT Name FROM ..SysObjects Where XType='U' ORDER BY Name
----クエリーデータテーブルのフィールド情報
1 select
2 a.name as FieldName, --
3 a.isnullable, --
4 b.Value as FieldDesc, --
5 c.name as FieldType, --
6 COLUMNPROPERTY(a.id,a.name,'IsIdentity') as isidentity, --
7 PK=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
8 SELECT name FROM sysindexes WHERE indid in(
9 SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
10 ))) then 'true' else 'false' end --
11 from SysColumns a left join
12 sysproperties b on a.id=b.id and a.colid=b.smallid left join systypes c on a.xusertype=c.xusertype
13 where a.id=Object_Id(' ')