查询INFORMATION_SCHEMA.COLUMNS将检索表中的列名。
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'EMR_FACILITY'
ORDER BY ORDINAL_POSITION
但是,似乎INFORMATION_SCHEMA中没有SYS模式信息。
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'sys' AND TABLE_NAME = 'DM_OS_SCHEDULERS'
ORDER BY ORDINAL_POSITION
SELECT DISTINCT TABLE_SCHEMA
FROM INFORMATION_SCHEMA.COLUMNS
如何查询SYS模式表中的列?
答案 0 :(得分:0)
sys.system_views
保留系统视图,并且可以通过其自己的sys
视图进行查看。
所有系统视图:
SELECT
SCHEMA_NAME(T.schema_id),
T.*
FROM
sys.system_views T
WHERE
SCHEMA_NAME(T.schema_id) = 'sys'
特定的系统视图列:
SELECT * FROM sys.system_columns AS T
WHERE T.object_id = (SELECT X.object_id FROM sys.system_views AS X WHERE X.name = 'database_principals')
您可以尝试将它们连接起来以获取所有视图的所有列以及列数据类型。
答案 1 :(得分:0)
您可以在系统目录中获得更多详细信息(精度,长度,是否为null等)
SELECT
o.name AS [Table_Name]
,c.name AS [Column_Name]
FROM sys.columns c
JOIN sys.objects o ON c.object_id = c.object_id
WHERE o.type = 'U' /* -> User Table*/
AND o.name = 'TABLE_NAME'
答案 2 :(得分:0)
sys.dm_os_schedulers
是master
数据库中的一个视图(不是表)。您可以看到其列,如下所示:
select * from master..syscolumns
where id=Object_Id('master.sys.dm_os_schedulers')
order by colid
或
select * from master.sys.system_columns
where object_id=Object_Id('master.sys.dm_os_schedulers')
order by column_id