关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server 2005列出所有存储过程如何进行?

    SQL Server 2005列出所有存储过程如何进行?

    2010-07-14 17:37:00 出处:ITJS
    分享

    假如你想更好的了解SQL Server 2005列出所有存储过程的实际操作的相关内容的话,假如你想更好的了解SQL Server 2005列出所有存储过程的实际操作的相关内容的话,下面的文章你不妨浏览,望你能会获得自己想要的东西。

    对于数据库管理员来说,可以经常想了解一些之前未听说过的存储过程,特别是无文档类型的存储过程。或许是用这些存储过程,能够简化日常的数据管理。

    对于数据库管理员来说,可以经常想了解一些之前未听说过的存储过程,特别是无文档类型的存储过程。或许是用这些存储过程,能够简化日常的数据管理。

    为了查找这些存储过程,你可以花时间在互联网搜索,查看一些你还未知道的存储过程,也许在一两个小时您可能会发现你想要...也许你很幸运的找到,其他人在他们的文章中列出所有的存储过程 ,函数和视图,并介绍了如何使用这些存储过程。

    但其实,您可以在一分钟之内就可以自己列出这些存储过程、函数和视图的清单!这份名单甚至包括SQL Server中所有无文档的存储过程。通过这个清单,你就可以确定你所想要找的存储过程。

    SQL Server 2005实际上保存了所有存储过程的列表,包括有文档的、无文档的,甚至是用户自定义的!所有这些信息,都包含在系统表中。最简单的方法是使用一个系统视图,特别是sys.all_objects这个视图来查阅。

    您也可以使用sys.procedures目录视图,但我的测试结果,发现这个视图会过滤掉一些储存过程。

    您也可以使用系统储存过程sp_stored_procedures返回当前环境中的存储过程列表 ,但这个存储过程同样也限制了存储过程返回值。

    通过对比,我觉得:假如想获得SQL Server 2005中所有的储存程序,建议使用sys.all_objects这个系统视图,sys.Procedures或sp_Stored_Procedures这两个视图会因为某些未知原因,过滤掉一些内容,造成信息不全。

    存储过程信息是存储在各自用户数据库中的系统表中的。SQL Server 2005保存了存储过程的唯一标识信息,如存储过程的名称、创建时间、修改时间、是否来自微软等等。

    如何确保所有的用户数据库都能够自动创建这些存储过程呢

    当SQL Server部署完成后,微软提供的存储过程,是保存在master数据库中的。当您新建一个数据库时,master数据库将作为模板数据库,因此,master数据库中的所有存储过程将自动创建到你所新建的数据库中。

    假如你想创建一个存储过程,并希望能够自动分发到所有的数据库中,你可以在master数据库中建立该存储过程,这样之后新创建的数据库中,将自动包含你新建的这个存储过程;但对于之前已经存在的数据库,你仍需要到每个数据库中手动创建这个存储过程。

    一、列出所有的储存过程

    以下代码列出了SQL Server 2005中存在的所有储存过程。

    USE [your_database_name_here];   GO   SELECT * FROM sys.all_objects   WHERE ([type] = 'P' OR [type] = 'X' OR [type] = 'PC')   ORDER BY [name];   GO  

    假如您已经安装了SQL Server 2005,并使用了所有的默认设置时,你将看到类似一下界面:

    上面这个命令,通过Type对象进行过滤。从下表中,你可以确定自己所需的对象的类型,然后根据你的实际情况,调整WHERE子句中的类型。

    此列表仅列出了意见,职能和程序。

    二、用户自定义存储过程

    在日常使用中,另一个字段“is_ms_shipped”也经常用来筛选记录。该字段用来判断存储过程是有微软发布的 ,假如最初是由微软发布的,则该字段的值为0;假如不是由微软发布的,则该字段的值为1 。

    在上面的T-SQL语句的基础上,您只要增加个限制条件“and [ is_ms_shipped ] = 0 ”,就可以找到不是微软创建的存储过程,这些或许是你或者第三方软件商访问数据库时创建的。假如您只想看看微软提供的储存过程,只要将值从0到1即可 。

    下面举例说明,通过一个T-SQL代码演示如何获取只有用户定义的存储过程。

    USE [your_database_name_here];   GO   SELECT * FROM sys.all_objects   WHERE ([type] = 'P' OR [type] = 'X' OR [type] = 'PC')   AND [is_ms_shipped] = 0   ORDER BY [name];   GO  

    需要注意的是,这个语句的执行结果,因每个人的数据库的情况不同,而得到不同的记录列表。情况而异。执行之后,将看到类似下图的输出结果。

    三、小结

    通过上面的例子可以看到,通过少量代码,我们就可以很容易地、快速地获得自己所用的SQL Server 的存储过程列表,你不必在一个个网站中搜索这些存储过程了。你可能会学到一个之前自己花了很大精力编写的复杂脚本,现在直接用一个存储过程就可以实现同样的效果了。

    请记住,当使用一个不能确定来源或结果的存储过程,应该在测试系统先验证;从来没有使用任何没有得到彻底的测试在生产环境中。

    本文只是告诉各位可以用来获得SQL Server 2005中所有存储过程的方法,但不是鼓励你随意使用任何类型的存储过程,特别是无文档类型的。Microsoft一再声明:微软对所有无文档的存储过程,扩展存储过程,函数和视图,均不提供任何相关的支持。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。