得到用户表结构的SQL语句

本文提供了一段SQL脚本,用于从SQL Server中查询指定表的详细元数据,包括表名、列名、数据类型、长度、注释及是否为主键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


declare @tabName nvarchar(100)
SET @tabName='dbo.FC_SD'
SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name, SysTypes.Name as col_type, SysColumns.Length as col_len, isnull(SysProperties.Value,SysColumns.Name) as col_memo,
case when SysColumns.name in
(select primarykey=a.name
FROM syscolumns a
 inner join sysobjects b on a.id=b.id  and b.xtype='U' and b.name<>'dtproperties'
 where  exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
 SELECT name FROM sysindexes WHERE indid in(
  SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
 )))
and b.name=SysObjects.Name
)
 then 1 else 0 end as is_key
 FROM SysObjects,SysTypes,SysColumns
LEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND
 Syscolumns.Colid = Sysproperties.Smallid)
 WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')
AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType
AND SysTypes.Name <> 'sysname' AND Sysobjects.Name Like '%'
and SysObjects.Name =@tabName
ORDER By SysObjects.Name, SysColumns.colid

Select *  from syscolumns Where ID=OBJECT_ID(@tabName)

 

 

转载于:https://www.cnblogs.com/dg123/archive/2009/02/07/1385889.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值