マイペース庶民

マイペースで生きたい

SQL Server のVIEWのカラム定義を出力する

Management Studio から確認する、以上。



なんてめんどくさい。
以下のクエリはビュー名、カラム名、型、長を出力する。
where句を適当にいじって使う。

-- SQL SERVER 2008以降なら
SELECT
OBJ.name, COL.name, TYP.name, COL.max_length
FROM
sys.objects OBJ
JOIN sys.columns COL ON OBJ.object_id = COL.object_id
JOIN sys.types TYP ON COL.system_type_id = TYP.system_type_id
WHERE OBJ.type = N'U' and OBJ.name like 'view_name'
AND TYP.user_type_id <> 256 --sysnamesを除く
ORDER BY OBJ.name, COL.column_id;

-- それ以前なら
SELECT
OBJ.name, COL.name, TYP.name, COL.length
FROM
sysobjects OBJ
JOIN syscolumns COL ON OBJ.id = COL.id
JOIN systypes TYP ON COL.xtype = TYP.xtype
WHERE OBJ.type = N'U' and OBJ.name like 'view_name'
AND TYP.xusertype <> 256 --sysnamesを除く
ORDER BY OBJ.name, COL.colid;