好贷网好贷款

2005每日一学] 元数据视图(7) 0CSDN]

发布时间:2016-12-5 10:27:01 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"2005每日一学] 元数据视图(7) 0CSDN]",主要涉及到2005每日一学] 元数据视图(7) 0CSDN]方面的内容,对于2005每日一学] 元数据视图(7) 0CSDN]感兴趣的同学可以参考一下。

    SQL Server 2005 数据库引擎 引入了两组新的视图来查询元数据。系统目录视图提供有关对象的信息,如 SQL Server 数据库中定义的表、存储过程和约束。动态管理视图提供有关数据库引擎 实例当前状态的信息。动态管理视图显示不保留到磁盘的关于内存结构的信息,如有关锁、线程和任务的信息。 SQL Server 2005 系统目录为 SQL Server 数据库提供此信息。SQL Server 2005 系统目录的核心是一个视图集,这些视图显示了描述 SQL Server 实例中的对象的元数据。元数据是描述系统中对象属性的数据。基于 SQL Server 的应用程序可以使用以下方式访问系统目录中的信息:  • 目录视图。建议使用这种访问方法。 • 信息架构视图。 • OLE DB 架构行集。 • ODBC 目录函数。 • 系统存储过程和函数。     SQL Server 2005 引入了目录视图,将其作为系统目录元数据的全新关系界面。通过这些视图可以访问服务器上各数据库中存储的元数据。  注意:  目录视图不提供对复制、SQL Server 代理或备份元数据的访问。  建议使用目录视图访问元数据,原因如下:  • 所有元数据都作为目录视图提供。 • 目录视图以一种独立于所有目录表实现的格式来表示元数据,因此,不受基础目录表变化的影响。  • 目录视图是访问核心服务器元数据的最有效的方式。 • 目录视图是目录元数据的常规界面,提供了获取、转换以及表示此自定义形式的元数据的最直接的方式。 • 目录视图名称和它们的列名称是说明性的。查询结果将与具备该功能(与正被查询的元数据相对应)中等知识的用户期望一致。 由于涉及的内容过多,只举几个例子,更多内容参见“Books Online" 实例: 1:判断某表是否存在IDENTITY列      IF EXISTS(                   SELECT 1 FROM SYS.IDENTITY_COLUMNS                   WHERE OBJECT_ID=OBJECT_ID('TableName')                 )            PRINT 'exists identity column' ELSE        PRINT 'not exists identity column' 2:查看某存储过程的参数     SELECT a.name AS '参数名',              b.name AS '类型',             a.max_length AS '长度',              a.precision AS '精度',             a.scale AS '小数位数',             CASE WHEN a.is_output=0 THEN 'input' ELSE 'output/return' END AS '输入输出类型',             CASE WHEN a.has_default_value=0 THEN 'no' ELSE 'yes' END AS '是否具有默认值',             a.default_value AS '默认值' FROM SYS.PARAMETERS a JOIN SYS.TYPES b ON a.user_type_id=b.user_type_id WHERE a.OBJECT_ID=OBJECT_ID('ProcedureName') 3:判断某表是否存在外键           IF EXISTS(                        SELECT 1 FROM SYS.FOREIGN_KEYS                        WHERE PARENT_OBJECT_ID=OBJECT_ID('')                       )                   PRINT 'exists' ELSE               PRINT 'not exists' 更多详细资料参考“Books Online" 以往帖子: [2005每日一学]DDL触发器(1)  http://community.csdn.net/Expert/topic/4910/4910909.xml?temp=.5234644 2005每日一学]XML数据类型(2)  http://community.csdn.net/Expert/topic/4913/4913373.xml?temp=.579159 2005每日一学]排名函数(3) http://community.csdn.net/Expert/topic/4918/4918884.xml?temp=.3263056 2005每日一学]APPLY运算符(4)  http://community.csdn.net/Expert/topic/4921/4921633.xml?temp=.4351465 2005每日一学]使用大值数据类型(5)  http://community.csdn.net/Expert/topic/4923/4923551.xml?temp=.471081 2005每日一学]数据库引擎错误处理(6) http://community.csdn.net/Expert/topic/4926/4926663.xml?temp=.5996057

顶啊 好哦

:)

好贴

好,虽然我现学SQLSERVER2K,也学不少东东,谢

好帖顶

Thanks!

MARK

顶!

好贴!感谢!

好人,好贴,好人贴好贴

Mark~ thanks~

上一篇:大伙有没有用SQL SERVER 2005啊?感觉如何? 10CSDN]
下一篇:sql报表服务调用cube,如何设置时间参数来控制该数据集? 50CSDN]

相关文章

相关评论