sql sever 屎山代码 ?存储过程怎么找 存储过程内容

sql sever 屎山代码 ?存储过程怎么找 存储过程内容

前言

由于之前供应商开发数据仓库,目前已经是屎山代码了,没有文档。 需要整理表是从那个存储过程来的,就很麻烦。 我的方法

一、Sql Server 存储过程怎么找 存储过程内容

使用 syscomments 表和 sysobjects

在SQL Server中,syscomments表和sysobjects表是用于存储有关数据库对象(如存储过程、触发器、视图等)的元数据信息的系统表。以下是关于这两个表的简要说明:

  1. syscomments表:

    • syscomments表存储了数据库对象的文本定义,例如存储过程、触发器等的源代码。
    • 主要包含text列,该列存储对象的文本定义,通常用于存储SQL语句。
    • id列与sysobjects表中的相应对象的id列关联,以建立对象和其文本定义之间的关系。

    示例查询:

    vbnet 复制代码
    sqlCopy code
    SELECT id, text
    FROM syscomments
    WHERE id = OBJECT_ID('Your_Object_Name')
  2. sysobjects表:

    • sysobjects表存储了数据库中的所有对象的元数据信息,包括表、视图、存储过程、触发器等。

    • 包含列如下:

      • id: 对象的唯一标识符。
      • name: 对象的名称。
      • type: 对象的类型,例如存储过程、表、视图等。

    示例查询:

    sql 复制代码
    sqlCopy code
    SELECT id, name, xtype
    FROM sysobjects
    WHERE xtype = 'P' -- P 表示存储过程,可以根据需要更改类型条件

这两个表在查询和分析数据库对象的定义和元数据时非常有用。然而,需要注意的是,自SQL Server 2005版本以后,Microsoft推荐使用更现代的系统视图(例如sys.objectssys.sql_modules等)来替代这些旧的系统表。

1.方法1:找存储过程和表关系代码如下(示例):

sql 复制代码
SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容  
FROM syscomments sc  
INNER JOIN sysobjects obj ON sc.Id = obj.ID  
WHERE sc.TEXT LIKE '% 存储过程内容中的内容%'  
AND TYPE = 'P'  and xtype='P'

比如找 insert 表名

SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容  
FROM syscomments sc  
INNER JOIN sysobjects obj ON sc.Id = obj.ID  
WHERE sc.TEXT LIKE '%insert 表名%'  
AND TYPE = 'P'  and xtype='P'

2.方法2:右击表找到查看依赖关系:也可以找到,

总结:

最后就是搞了excel 写文档,然后重建数仓。这个是痛苦的过程。 用存储过程的技术+sql job 做数仓已经是很老的技术,个人不建议使用。 后面我们用Kattle

相关推荐
l1t17 分钟前
利用美团龙猫添加xlsx的sheet.xml读取sharedStrings.xml中共享字符串输出到csv功能
xml·c语言·数据结构·人工智能·算法·解析器
lifallen2 小时前
揭秘KafkaStreams 线程缓存:NamedCache深度解析
数据结构·算法·缓存·kafka·apache
菜就多练,以前是以前,现在是现在2 小时前
Codeforces Round 1048 (Div. 2)
数据结构·c++·算法
失散133 小时前
分布式专题——9 Redis7底层数据结构解析
java·数据结构·redis·分布式·缓存·架构
崎岖Qiu4 小时前
leetcode380:RandomizedSet - O(1)时间插入删除和获取随机元素(数组+哈希表的巧妙结合)
java·数据结构·算法·leetcode·力扣·散列表
ZLRRLZ4 小时前
【数据结构】图
数据结构·算法·图论
kida_yuan4 小时前
【从零开始】13. 数据增强(Data Augmentation)
数据结构·python·nlp
好易学·数据结构4 小时前
可视化图解算法60: 矩阵最长递增路径
数据结构·算法·leetcode·力扣·递归·回溯算法·牛客
大锦终5 小时前
【算法】栈专题
数据结构·c++·算法·leetcode
天选之女wow5 小时前
【代码随想录算法训练营——Day6(Day5周日休息)】哈希表——242.有效的字母异位词、349.两个数组的交集、202.快乐数、1.两数之和
数据结构·算法·leetcode·散列表