sql2005获取表字段说明

原创 2007年09月14日 09:46:00

 发现sysproperties表没有用啦,而是sys.extended_properties

select table_name,column_name,B.value 
from information_schema.columns A left join sys.extended_properties B
on B.major_id=object_id(A.table_name)
and A.ordinal_position=B.minor_id

附:.自动生成类

1.得到表名,对类属性名,对象类型的视图(tmp_v_generateclass)

create view [dbo].[tmp_v_generateclass] as 
select table_catalog,table_name,convert(nvarchar(200),isnull(B.value,'')) as demo,convert(varchar(200),column_name) as column_name,data_type,isnull(character_maximum_length,numeric_precision) as column_length,is_nullable ,substring(column_name,charindex('_',column_name)+1,100as oo_name,(select oo_typename from tmp_dbtype2ootype B where B.db_typename=A.data_type) as oo_type
from information_schema.columns  A left join sys.extended_properties B
on B.major_id=object_id(A.table_name)
and A.ordinal_position=B.minor_id

2.得到最终的类的视图(tmp_v_class)

 

create view [dbo].[tmp_v_class] as 
select table_name,'private '+oo_type+' _'+oo_name+';' as ooproperty 
from tmp_v_generateclass
union all 
select table_name,'///<summary>'+char(13)+char(10)+'///'+demo+char(13)+char(10)+'/// </summary>'+char(13)+char(10)+'public '+oo_type+' '+ upper(left(oo_name,1))+substring(oo_name,2,100+'{'+char(13)+char(10)+' get {'+char(13)+char(10)+'return _'+oo_name
+';'+char(13)+char(10)+'}'+char(13)+char(10)+'set {'+char(13)+char(10)+'_'+oo_name+'=value;}'+char(13)+char(10)+'}' as ooproperty
from tmp_v_generateclass

3.net类型与sql类型的对应关系(表tmp_dbtype2ootype)

db_typename                                        oo_typename
-------------------------------------------------- --------------------------------------------------
bigint                                             long
binary                                             int
bit                                                bool
char                                               string
datetime                                           DateTime
decimal                                            decimal
float                                              float
image                                              byte[]
int                                                int
money                                              float
nchar                                              string
ntext                                              string
numeric                                            double
nvarchar                                           string
real                                               float
smalldatetime                                      DateTime
smallint                                           short
smallmoney                                         float
sql_variant                                        Object
sysname                                            string
text                                               string
timestamp                                          string
tinyint                                            int
uniqueidentifier                                   string
varbinary                                          string
varchar                                            string
xml                                                string

相关文章推荐

SQL2005系統表的ER圖和表字段關系

  • 2008年10月06日 12:33
  • 1.7MB
  • 下载

sql2005 根据表名获取数据库表各字段信息

ALTER PROCEDURE [dbo].[getDBtableInfoByName] ( @tableName nvarchar(200) ) AS BEGIN SELECT 表名=d.n...

SQL2005 怎么获取汉字的拼音首字母

在sql2005中,怎么获取汉字拼音的首字母?例如,中国人民 ,其拼音首字母组合该为ZGRM。我们可以在在sql2005中定义一个函数fun_getPY,sql语法如下: /****** 对象: ...

sql2005 OPENROWSET excel 获取数据的方法

查询时不可打开test.xls文件 不妨先把查到的结果放到临时表中然后处理   --1.检测是否可以打开EXCEL中的数据信息 select *from OPENROWSET('M...

sql2005自动备份说明文档

  • 2013年08月13日 20:14
  • 499KB
  • 下载

与SQL2005相关安装配置说明

  • 2011年11月23日 11:49
  • 1.62MB
  • 下载

操作(添加/修改/删除 )sql表字段说明/描述的语句

–创建表create table CRM_Agreement(N'CState varchar(10),a2 char(2))–为表添加描述信息EXECUTE sp_addextendedproper...

SQL2005数据库安装图解说明

  • 2012年09月06日 16:13
  • 2.99MB
  • 下载

SQL2005JDBC连接说明.doc

  • 2008年12月14日 13:40
  • 39KB
  • 下载

SQL Server获取表字段信息

使用说明:Where条件后入表名即可 SELECT 表名 = CASE WHEN a.colorder = 1 THEN d.name ELSE '' ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql2005获取表字段说明
举报原因:
原因补充:

(最多只允许输入30个字)