浅谈SQLServer中系统表的应用
来源:互联网 发布:算法竞赛宝典pdf百度云 编辑:程序博客网 时间:2024/05/18 03:21
浅谈SQLServer中系统表的应用
1. master数据库中sysdatabases表(是SQLServer中所有的数据库的库名) :
如果你要查询的是所有数据库(用户/系统):
select * from master..sysdatabases
如果你要查询的是用户数据库,则使用:
select * from master..sysdatabases where dbid > 4
如果你要查询的是系统数据库,只需要把where字句改为dbid < 4即可。
2.对应数据库中sysobjects表(反应的是相应数据库中所有的对象):
这个表的用处是最大的,因为它里面存放的有:表(系统/用户)、存储过程(系统/用户)、视图、主键、外键等。
这里就不一一说明了。www.2cto.com
比如你SQLServer中有个数据库名叫 test,如果要查询该数据库中的所有表对象:
select * from test..sysobjects where type = 'u' or type = 's'
这里的type = 'u'是表示用户表对象,type = 's'是系统表对象,怎样单独查询用户表对象或者系统表对象就不用说了吧。
如果你要查询的是存储过程当然也分了系统和用户了:
这个是查询数据库中所有存储过程
select * from test..sysobjects where type = 'p'
如果你要查询的是用户存储过程则加上 and category <> 2 即可。
查询系统存储过程就不用说了吧(category = 2 谁不知道。。。)
查询视图与查询存储过程一样,比如:
www.2cto.com
你查询的是数据库中所有视图
select * from test..sysobjects where type = 'v'
如果你要查询的是用户视图则加上 and category <> 2 即可。
其他的就不说了,就把 它们的type给大家说下:
type = ' PK' 表示主键。
type = ' D' 外键引用。
type = 'UQ' 唯一索引。
大概就这些了,有什么不全的请大家补充,谢谢。
3.syscomments表
存放的是所有存储过程、视图等(还有什么不清楚了。。。)。
这里还是以test数据库为例,这个表要和sysobjects表相结合用才可,比如查询的是test数据库中用户存储过程 www.2cto.com
的内容:
select a.name, b.* from test..sysobjects a,test..syscomments b where a.type = 'p' and a.category <> 2 and a.id = b.id
(语言有点通俗,呵呵,大家别见怪,相信大家都知道)
4 syscolumns表:
存放的什么大家都知道吧(看名字就知道是列名,地球人都知道)
这里还是以为test数据库为例,下面的语句查询的是test数据库中所有用户表的列信息:
select a.name, b.* from test..sysobjects a,test..syscolumns b where a.type = 'u' and a.id = b.id www.2cto.com
好了,不说了,差不多了,一般用得最多的就这几个表了。。没写全的请大家补充下,如果有什么不明白了,欢迎大家一起探讨。
0 0
- 浅谈SQLServer中系统表的应用
- 浅谈SQLServer中系统表的应用
- 浅谈GPS监控系统中GPRS的应用
- sqlserver中各个系统表的作用
- sqlserver中各个系统表的作用
- sqlserver中各个系统表的作用
- SqlServer的系统表
- SQLServer系统表及其应用(转)
- SqlServer中关于时间函数的应用
- sqlserver分页中row_numer()函数的应用
- SqlServer 2008+中Merge的应用
- SQLServer 中partition by的应用场景
- sqlserver 系统表的使用
- 修改sqlserver中sysfiles系统表和sysfiles1系统表中name字段的值
- 浅谈sqlserver 的负载均衡
- 浅谈sqlserver 的负载均衡
- SQLServer中的系统表,存储过程和函数的功能及应用
- 应用Profiler优化SQLServer系统
- dhcp交叉编译
- Oracle函数样板及用法
- curl_easy_setopt函数介绍
- 大家都来说说为什么要学习jQuery Mboile?
- 使用 Broadcast 与后台 Service 服务通信
- 浅谈SQLServer中系统表的应用
- UVALIVE 2326 moving tables 不相交区间问题
- java多环境下的配置
- java学习笔记-前篇
- grep命令重定向
- Tomcat 7 'javax.el.ELException' 的解决方式(failed to parse the expression [${xxx}])
- 校园APP该如何开发和运营
- 安卓智能手机视频误删了如何恢复丨用什么方法恢复
- 数据连接池配置(mysql案例)