我正在考虑创建一个基本的ORM(纯粹是为了好玩),我想知道,有没有办法返回数据库中的表列表以及每个表的字段?
使用这个方法,我希望能够循环遍历结果集(在C#中),然后对结果集中的每个表执行此操作(例如,使用反射生成一个将执行或包含xyz的类).
除此之外,SQL Server有哪些好的在线博客?我知道这个问题实际上是关于在Sql Server中使用系统SP和数据库的,我对一般查询没有意见,所以我对一些涉及此类功能的博客感兴趣.
谢谢
我正在考虑创建一个基本的ORM(纯粹是为了好玩),我想知道,有没有办法返回数据库中的表列表以及每个表的字段?
使用这个方法,我希望能够循环遍历结果集(在C#中),然后对结果集中的每个表执行此操作(例如,使用反射生成一个将执行或包含xyz的类).
除此之外,SQL Server有哪些好的在线博客?我知道这个问题实际上是关于在Sql Server中使用系统SP和数据库的,我对一般查询没有意见,所以我对一些涉及此类功能的博客感兴趣.
谢谢
这就是你想要的吗:
Using OBJECT CATALOG VIEWS
SELECT T.name AS Table_Name ,
C.name AS Column_Name ,
P.name AS Data_Type ,
P.max_length AS Size ,
CAST(P.precision AS VARCHAR) + '/' + CAST(P.scale AS VARCHAR) AS Precision_Scale
FROM sys.objects AS T
JOIN sys.columns AS C ON T.object_id = C.object_id
JOIN sys.types AS P ON C.system_type_id = P.system_type_id
WHERE T.type_desc = 'USER_TABLE';
Using INFORMATION SCHEMA VIEWS
SELECT TABLE_SCHEMA ,
TABLE_NAME ,
COLUMN_NAME ,
ORDINAL_POSITION ,
COLUMN_DEFAULT ,
DATA_TYPE ,
CHARACTER_MAXIMUM_LENGTH ,
NUMERIC_PRECISION ,
NUMERIC_PRECISION_RADIX ,
NUMERIC_SCALE ,
DATETIME_PRECISION
FROM INFORMATION_SCHEMA.COLUMNS;
参考:我的博客-http://dbalink.wordpress.com/2008/10/24/querying-the-object-catalog-and-information-schema-views/