ぱそくま ろご
Windows > SQL Server > カタログテーブル(テーブル一覧、カラム一覧等)

カタログテーブル(テーブル一覧、カラム一覧等)

テーブル関連

テーブル一覧を表示する。(そのユーザー名も表示)
SELECT A.NAME AS TABLE_NAME, B.NAME AS USER_NAME
  FROM sysobjects A
  JOIN sysusers B
    ON A.UID = B.UID
 WHERE A.TYPE IN('U', 'IF', 'TF')
 ORDER BY A.TYPE, A.NAME
;
特定のテーブルのカラム一覧を表示
SELECT A.COLUMN_NAME, 
       A.DATA_TYPE AS COLUMN_TYPE, 
       A.CHARACTER_MAXIMUM_LENGTH, 
       A.IS_NULLABLE 
  FROM INFORMATION_SCHEMA.COLUMNS AS A 
 WHERE A.TABLE_SCHEMA = 'dbo' 
   AND A.TABLE_NAME = [テーブル名]
 ORDER BY A.ORDINAL_POSITION
;

オブジェクト一覧を子のオブジェクト名も一緒に表示する。
SELECT PARENT.name, PARENT.xtype, CHILD.name, CHILD.xtype
  FROM sysobjects AS PARENT
  JOIN sysobjects AS CHILD
    ON PARENT.id = CHILD.parent_obj
 ORDER BY PARENT.name
;