



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQLServer系统表研究论文摘要:本文介绍了MicrosoftSQLServer数据库的系统表,并对系统中经常遇到的一个问题给出了通过系统表建立存储过程的解决办法。 关键词:SQLServer系统表存储过程 1.SQLServer的系统表 Microsoft的SQLServer是一个可伸缩的高性能数据库管理系统,专为分布式客户机/服务器环境而设计,SQLServer几乎将所有的配置信息、安全性信息和对象信息都存储在了它自身的系统表中,而系统表存在于每个独立的数据库中,存储一个特定数据库对象信息的系统表通常称为数据库目录,MASTER数据库有其特有的系统表用于保存整个系统和所有数据库的信息,
2、通常称为服务器目录或系统目录。 服务器上所有的数据库包括MODULE,MASTER等都含有18个具有相同名称、结构的系统表,如表SYSOBJECTS用于描述数据库中的对象棗表、视图、存储过程等,表SYSUSER用于描述数据库的用户,而MASTER数据库另外还有13个单独的全局系统表,如表SYSLOGINS用于保存每个服务器的登录名、口令和配置信息、表SYSDATABASE保存服务器上所有数据库名、所有者、状态及其他信息。 存储过程是内嵌于数据库中的程序代码,它与表、视图等一样是数据库的一个组成部分,不同于一般的外部程序代码,它是经过预编译处理的代码,因此具有运行速度快、效率高的特点,存储过程也
3、是SQLServer的一个重要功能,许多单纯针对后台数据库的操作一般都交由存储过程来完成以提高系统效率。本文将给出一个存储过程来说明SQLServer系统表的应用。 2.SQLServer系统表的应用 在应用SQLServer的基于客户机/服务器体系结构的信息系统开发中,有时需要将后台SQLServer上的某一数据库的表结构都打印出来,以便于开发人员查阅及最终文档的形成。SQLServer本身提供了一个系统存储过程(SP_COLUMNS),可以完成对单个表结构的查询,只要在SLQServer的ISQL-W工具中键入SP_COLUMNS“表名”,并执行即可得到结果集。但该方法有许多不足之处,其主
4、要缺点是: 1)只能对数据库中单个数据表进行操作,当需要查询一个数据库中所有的表时,需要多次执行系统存储过程SP_COLUMNS,因此显得非常繁琐。 2)查询结果集中包含了许多不必要的信息,缺乏使用的灵活性。 下面我们创建一个存储过程来完成对某一个数据库中所有表结构的查询。 在创建一个数据库的同时,系统会自动建立一些系统表,限于篇幅的缘故我们在这里只介绍与应用实例有关的三个系统表(SYSOBJECTS,SYSCOLUMNS,SYSTYPES)及其相关的字段。表SYSOBJECTS为数据库内创建的每个对象(约束,规则,表,视图,触发器等)创建一条记录。 该表相关字段的含义如下: SYSOBJEC
5、TS.name对象名,如:表名,视图名。 SYSONJECTS.id对象id。 SYSOBJECTS.type对象类型(p存储过程,v视图,s系统表,u用户表)。 表SYSCOLUMNS为每个表、视图中的每个列和每个存储过程的每个参数创建一条记录。该表相关字段的含义如下:(此处的列系指数据库中每个表、视图中的列) SYSCOLUMNS.id该列所属的表的id,可与SYSOBJECTS.id相关联 SYSCOLUMNS.colid列id,表示该列是表或视图的第几列 SYSCOLUMNS.type物理存储类型,可与SYSTYPES.type相关联. SYSCOLUMNS.length数据的物理长度
6、。 SYSCOLUMNS.name列名字,即字段名。 SYSCOLUMNS.Pre列的精度级。 SYSCOLUMNS.Scale列的标度级。 表SYSTYPES为每个系统和每个用户提供的数据类型创建一条记录,如果它们存在,给定域和默认值,描述系统提供的数据类型的行不可更改。 该表相关字段的含义如下: SYSTYPES.name数据类型的名字。 SYSTYPES.type物理存储数据类型。 在SQLSERVER的企业管理器(SQLENTERPRISEMANAGER)中,选定某一数据库,创建存储过程print_dbstructure。 源代码如下: ifexists(select*fromsyso
7、bjectswhereid=object_id(dbo.print_dbstructure)andsysstat&0xf=4)存储过程 dropproceduredbo.print_dbstructure GO CREATEPROCEDUREprint_dbstructure AS SELECTDISTINCT,syscolumns.colid, ,,syscolumns.prec,syscolumns.scale FROMsyscolumns,sysobjects,systypes WHEREsysobje
8、cts.id=syscolumns.idANDsystypes.type=syscolumns.typeAND(sysobjects.type=u) GO 首先判断是否存在一个名为print_dbstructure的存储过程,如果存在,就摘除它,否则,定义SQL语句建立新的存储过程。从三个系统表中选出满足条件的记录(即该数据库中保存在系统表中的用户表信息)。 执行时,在ISQL_W工具中,选定print_dbstructure所在的数据库,执行该存储过程,即可得到结果集(即该数据库中用户表的结构信息)。 3.SQLServer系统表的应用推广 以上所介绍存储过程的主要缺陷在于只能对服务器上某一特定的数据库(print_dbstructure
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动汽车核心竞争力测试试题及答案
- 聚焦2025年:罕见病药物研发政策利好与产业发展前景分析报告
- 旅游口语复试题及答案解析
- 市政道路设计与施工试题及答案
- 能源与资源行业政策解读报告:新能源补贴政策与市场影响
- 游戏化学习试题及答案经验
- 持续提升土木考试试题及答案
- 无机化学与环境保护的关系试题及答案
- 新能源汽车制造产业布局下的充电设施建设与发展报告
- 物理实验基础与技能评估试题及答案
- 《汽车灯具的标准》课件
- 袁隆平英语课件
- 色卡-CBCC中国建筑标准色卡(千色卡1026色)
- 演唱会临时用电施工方案制定
- 【工程法规】王欣 教材精讲班课件 37-第6章-6.2-施工安全生产许可证制度(二)
- 零工市场(驿站)运营管理投标方案(技术方案)
- 重庆市渝北区2024年小升初英语试卷( 含笔试解析无听力原文无音频)
- 铁皮石斛市场洞察报告
- 2024年河北省石家庄市中考生物试题卷(含答案解析)
- 《绘制校园平面图》2023-2024学年七年级综合实践教学设计
- 2024年安徽省高考生物试卷(真题+答案)
评论
0/150
提交评论