SQL SERVER 2008的元数据视图

我们以前可以直接访问系统表,如下所示:

SELECT 
    so.name As theTable,
    sc.name As theColumn,
    st.name As theType
FROM sysobjects so
JOIN syscolumns sc on so.id=sc.id
JOIN systypes st on sc.xtype=st.xtype    
WHERE
        SO.type='U'

实际上,微软不建议直接访问系统表。所以微软使用了一些系统视图代替直接操作系统表,为了实现上面相同的功能,我们可以用下面访问元数据视图的方式改变:

SELECT 
    t.name As theTable,
    c.name As theColumn,
    ty.name As theType
FROM sys.tables t
JOIN sys.columns c on t.object_id=c.object_id
JOIN sys.types ty on c.system_type_id=ty.system_type_id    
WHERE
        t.type='U'

我们可以在master表的Views下面找到各种视图

原文地址:https://www.cnblogs.com/djcsch2001/p/2774017.html