得到sqlserver数据库中表结构信息
扫描二维码
随时随地手机看文章
/* create by zhanglei 20061218
得到用户的表结构信息
forexample
select * from vbyhbjg
*/
alter view VBYHBJG
as
select o.name 表名称, '' 表描述, isnull(col.name,'') 列名称, isnull(prt.value,'') 列描述 ,
t.name +'(' +convert(varchar(5),col.length)+')' 表类型 ,
case col.isnullable when 1 then '空' else '非空' end as [是否为空] ,'' 默认值, '' 备注
from sysobjects o right join
syscolumns col on o.id = col.id left join
sysproperties prt on col.id = prt.id and col.colid = prt.smallid left join
systypes t on col.xusertype = t.xusertype
where o.xtype = 'U'
--执行测试
CREATE TABLE dbo.Table1
(
FID varchar(50) NULL,
FName varchar(50) NULL
) ON [PRIMARY]
GO
DECLARE @v sql_variant
SET @v = N'编号'
EXECUTE sp_addextendedproperty N'MS_Description', @v, N'user', N'dbo', N'table', N'Table1', N'column', N'FID'
GO
DECLARE @v sql_variant
SET @v = N'名称'
EXECUTE sp_addextendedproperty N'MS_Description', @v, N'user', N'dbo', N'table', N'Table1', N'column', N'FName'
GO
ALTER TABLE dbo.Table1 ADD CONSTRAINT
DF_Table1_FID DEFAULT 'getID' FOR FID
GO
ALTER TABLE dbo.Table1 ADD CONSTRAINT
DF_Table1_FName DEFAULT 'getName' FOR FName
Go
--查询表结构
select * from vbyhbjg
--返回结果
Table1 FID 编号 varchar(50) 空
Table1 FName 名称 varchar(50) 空