zoukankan      html  css  js  c++  java
  • SQL点点滴滴_查看所有存储过程或视图的位置及内容

    代码:
    select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped=0 and a.object_id = b.object_id and a.[type] in ('P','V','AF') order by a.[name] asc

    从上面的SQL语句可以看出,主要用到了两个 sys.all_objects 和 sys.sql_modules 两个系统存储过程,其中 sys.all_objects 是 sql server 2012 版本中的系统视图,在 更早期的 sql server 版本中,应该用 sys.objects,同时,sys.objects 在 2012 中也是可以用的,只不过考虑到后续兼容性,在新版本中,用新的 name 还是比较好。
     
    Sys.All_Objects(sys.objects) 
     
    该视图 很出名,是经常使用到的,主要是:显示所有架构范围内的用户定义对象和系统对象的 UNION
     
    主要字段:
     
    1. Name:对象名
    2. Object_id:对象标识号,在数据中是唯一的
    3. Principal_id :架构所有者ID
    4. Parent_object_id:此对象所属对象的ID,0 = 不是子对象
    5. Type:对象类型,常用的类型有, AF = 聚合函数 P = SQL 存储过程  V = 视图  TT = 表类型   U = 表(用户定义类型)
    6. Type_desc:对象类型的说明
    7. Create_date / Modify_date :创建日期 / 修改日期
    8. is_ms_shipped:是否为 内部 SQL Server 组建所创建的对象,常用来判断 是否是 系统内置或用户自定义 的对象
     
    Sys.Sql_Modules
     
    MSDN : 对每个 SQL 语言定义的模块对象都返回一行。 类型为 P、RF、V、TR、FN、IF、TF 和 R 的对象均有关联的 SQL 模块。 
    该视图 不是太常用,但是要返回 某些对象的 创建信息,如一个表格的 架构、字段等信息,就需要用这视图了,稍后会在介绍字段后再介绍这个视图。
    注意,该视图的作用域是当前 DB,并不是当前Server,所以使用前,一定注意前面加 use DBName 的信息
     
    主要字段:
     
    1. Object_id:对象标识号,在数据中是唯一的
    2. Definition:用于定义此模块的 SQL 文本
     
    其实只要大家亲自操作下,就很容易明白,Definition 中的内容,就和下图中的操作是一样的:
     

    本文首发博客园,原文地址:Sql Server 查看所有存储过程或视图的位置及内容 - http://www.cnblogs.com/xunziji/archive/2012/08/22/2650822.html

  • 相关阅读:
    公众号开发笔记一
    公众号开发笔记一
    ArrayList,LinkedList和String
    ArrayList,LinkedList和String
    第56节:ArrayList,LinkedList和String
    第55节:Java当中的IO流-时间api(下)-上
    Java当中的IO流-时间api(下)-上
    当用python读取几十万行文本时,会出现什么状况?
    Python 如何定义只读属性?【新手必学】
    Python之数据分析工具包介绍以及安装【入门必学】
  • 原文地址:https://www.cnblogs.com/Zeros/p/6907470.html
Copyright © 2011-2022 走看看