sql 2000可以设定字段的说明,能写表的说明吗?
解决方案 »
- 这是我的分发、订阅(强制)服务器导出的脚本,谁能改下
- 简单问题:关于DTS
- 如何通过sql 判断sp_send_dbmail是否启用
- 如何将表的列名按另一张表对应字段自动替换显示
- 急急!!哪里错了????
- 挑战难度极限,SQL2000里的错误 ,[Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionCheckForData (CheckforData()).
- 如何删除?
- sql分组查询 求解
- SQL分页存储过程中返回查询记录数的值
- 如何建立她们的关联!?在线.......
- 数据网络连接问题 郁闷了 大侠们来帮帮忙
- VB6程序中用ADO 不用ODBC 建立到sql server 的连接?
...说明
*/
CREATE TABLE #(id int)是这个意思吗?
go
create table tb(ID int ,[name] varchar(10))
go
--添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description','测试表描述信息', N'user', N'dbo', N'table', N'tb', NULL, NULL
go--查询表描述信息
SELECT [value]
FROM fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'tb',NULL, NULL)
go
SELECT
表名 = case when a.colorder=1 then d.name else '' end,
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号 = a.colorder,
字段名 = a.name,
标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end,
类型 = b.name,
占用字节数 = a.length,
长度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
小数位数 = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
允许空 = case when a.isnullable=1 then '√'else '' end,
默认值 = isnull(e.text,''),
字段说明 = isnull(g.[value],'')
FROM
syscolumns a
left join
systypes b
on
a.xusertype=b.xusertype
inner join
sysobjects d
on
a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join
syscomments e
on
a.cdefault=e.id
left join
sysproperties g
on
a.id=g.id and a.colid=g.smallid
left join
sysproperties f
on
d.id=f.id and f.smallid=0
where
d.name='要查询的表' --如果只查询指定表,加上此条件
order by
a.id,a.colorder