rt
在Sql server 2005中
查找表的字段sql语句如下:
--取得表名和表id
select tb.name as tableName,tb.object_id from sys.tables tb where name<>'sysdiagrams' order by tableNameselect col.name,pro.value as description from sys.columns col
left outer join
sys.extended_properties pro
on col.object_id=pro.major_id and pro.minor_id=col.column_id
where col.object_id='1170103209' 《--查到的表的id可是在视图查询中无效
--取得视图的名字和id
select * from sys.objects
select name as ViewName ,object_id as ViewID from sys.views 可是按照查表列方法,取不到描述信息
实际上,在表sys.extended_properties中都没有视图id信息,怎么回事啊,找的我头都大了
:(
各位,救命啊
在Sql server 2005中
查找表的字段sql语句如下:
--取得表名和表id
select tb.name as tableName,tb.object_id from sys.tables tb where name<>'sysdiagrams' order by tableNameselect col.name,pro.value as description from sys.columns col
left outer join
sys.extended_properties pro
on col.object_id=pro.major_id and pro.minor_id=col.column_id
where col.object_id='1170103209' 《--查到的表的id可是在视图查询中无效
--取得视图的名字和id
select * from sys.objects
select name as ViewName ,object_id as ViewID from sys.views 可是按照查表列方法,取不到描述信息
实际上,在表sys.extended_properties中都没有视图id信息,怎么回事啊,找的我头都大了
:(
各位,救命啊
EXEC sys.sp_addextendedproperty
@name = N'MS_DescriptionExample',
@value = N'Minimum inventory quantity.',
@level0type = N'SCHEMA', @level0name = dbo,
@level1type = N'view', @level1name = view_tst,
@level2type = N'COLUMN', @level2name = name
select * from ::fn_listextendedproperty (NULL, 'SCHEMA', 'dbo', 'view', 'view_tst', 'column', default)--
view中的字段和table中的字段是怎么映射的么?
那个存储他们关系的表是那个?
我好找出真正的列的属性楼上的方法对我来说,好像不行
别人建好的数据库,我只负责把它属性读出来,不能添加的
找出视图依赖的表
2.select * from ::fn_listextendedproperty (NULL, 'SCHEMA', 'dbo', 'table', tbname', 'column', default)
找出基表的扩展属性
找出视图依赖的表
2.select * from ::fn_listextendedproperty (NULL, 'SCHEMA', 'dbo', 'table', tbname', 'column', default)
找出基表的扩展属性----
1.找出视图依赖的表-->2.找出基表的扩展属性
可是我还是不能确定视图中的列是基表中的那个列阿?
没有相互列的对应唯一标示还是我没看懂hrb2008()您的意思。不好意思
and object_name(b.id)='datable1'
没有唯一标示列的id
用view列的name不足以确定table中的列的name
因为view中的列可以随意改名
所以table中很可能没有对应的列名
这是问题所在
相对应。