SQL SERVER 获取表结构信息《转载》
表名 = case when a.colorder=1 then d.name else '' end,
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
字段名 = a.name,
主键 = 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(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='LW_Equipment_Stock_List' --如果只查询指定表,加上此条件
获取表内所有字段
下边是关于 Sysobjects的介绍
经常我们要查询表的索引,约束,相关性,触发器的属性,那么要知道sysobjects这个表的字段的意思,那么不管要查什么都没有问题!
Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。
Name,id,xtype,uid,status:分别是对象名,对象ID,对象类型,所有者对象的用户ID,对象状态。
对象类型(xtype)。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
当xtype='U' and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值。
用: select * from misa.dbo.sysobjects where xtype='U' and status>0 就可以列出库misa中所有的用户建立的表名。
SELECT * FROM SYSOBJECTS WHERE PARENT_OBJ = OBJECT_ID( 'CS') AND XTYPE='TR'
列出表cs的所有属性,上面是trigger!
转载于:https://www.cnblogs.com/wengjinbao/archive/2009/08/09/1542097.html
SQL SERVER 获取表结构信息《转载》相关推荐
- SQL Server修改表结构后批量更新所有视图
--获取指定SQLServer数据库所有表及视图的字段列表及类型.长度 Select o.Name As ObjectsName , c.name As ColumnsName , t.name As ...
- SQL Server修改表结构,表和列名加注释说明
目录 1. SQL Server修改表结构 1.1 添加字段 1.2 删除字段 1.3 删除字段约束或键 1.4 修改字段类型 1.5 修改字段名 1.6 修改表名 2. 表和字段注释说明 2.1 添 ...
- SQL Server 查看表结构
SQL Server 查看表结构 SELECT distinct TABLE_NAME=d.name, COLUMN_NAME=A.name,DATA_TYPE = B.name,CHAR_LENGT ...
- 【MySQL】如何使用SQL语句获取表结构和获取全部表名
目录 一.业务背景 二.如何获取全部表名 三.如何获取表结构 四.总结 一.业务背景 在实际的业务需求中,我们经常需要拿到数据库的全部表名,展示在后台中或者输出到文件里. 具体到业务中的需求比如: 导 ...
- SQL Server 获取表或视图结构信息
------------获取表或视图的结构信息(ObjName:表名或视图名) Select o.name as Oname,c.name As name , t.name As type,c.Len ...
- 数据库 SQL Server 修改 表结构 脚本 sql语句
在使用一些表管理工具,或对数据库的物理表结构进行改动时,可以通过数据库的语法脚本实现. 1.创建表 CREATE TABLE dbo.表名(列名1 [列名数据类型](数据长度) 是否为Null,列名2 ...
- SQL Server修改表结构,添加约束
文章目录 修改表结构 1.修改字段数据类型 2.添加字段 3.删除字段 4.修改字段特征(约束) 1>添加标识列约束(IDENTITY) 2>添加主键约束(PRIMARY KEY) 3&g ...
- SQL server复制表结构和复制表数据
1,复制表结构 select * into 新表名称 from 旧表名称; 这个SQL语句可以将表的数据也复制过来 注意:像主键,外键这种属性是无法复制过来的 补充:当新表名称已经在数据库中存在的时候 ...
- Sql Server查看表结构
1.表结构 2.通过 t abc 查询出的表结构 3.存储过程 t CREATE proc t @TableName nvarchar(200) as SELECT (select top 1 isn ...
最新文章
- 09 Java程序员面试宝典视频课程之多线程
- [MATLAB调试笔记]Update the electric field in one step
- Fiori navigation logic ( Route )
- [帝皇杯day 1] [NOIP2018模拟赛]小P的loI(暴力+素筛),【NOIP模拟赛】创世纪(贪心),无聊的数对(线段树)
- Nhibernate 过长的字符串报错 dehydration property
- HTML5简易在线画图工具
- SPS2003升级到MOSS2007相关资料及问题总结
- Java 获取命令行输入数据(命令行输入,Scanner类)
- Linux信号实践(2) --信号分类
- 容器编排技术 -- Kubernetes 垃圾收集
- Python文摘:Requests (Adavanced Usage)
- 如何去掉 WinCE 4.2 的桌面墙纸
- Linux下修改文件权限
- 【渝粤教育】广东开放大学 经济学基础 形成性考核 (25)
- 51单片机C语言堆栈,《单片机C语言试题》(一)20101027
- 手机应用宝占用了8G
- 计算机max函数的格式,Word怎么输入Max公式
- LINUX系统ubuntu显示隐藏文件夹选项
- 帮蔡徐坤刷出一亿转发,APP开发者一审获刑
- 记腾讯互娱网站布局(2)
热门文章
- oracle为什么不用指定数据库,两个数据库怎么保持数据正确显示
- 创建一个水平盒子java_盒子模型理解
- 晴天计算机按键,电脑怎样才能在按键的时候,按下去按键没反应,手台起来才有呢?...
- oracle hot patch david,Oracle EBS使用adpatch工具打patch过程(hotpatch mode)
- 广播站 PHP,让一实听见你的声音——“校园之声”广播站招募小记
- catv系统主要有哪三部分组成_你了解买车“三大件”之一的悬挂系统吗?家用车用什么悬挂系统?...
- MySQL面试题 | 附答案解析(十)
- 相机标定:(1)相机模型
- Linux的ntp服务起不来,CentOS7/Red Hat7 NTP服务无法开机自启动
- python request.get()_使用Python request.get解析无法一次加载的html代码