作者konkonchou (朴实且无华)
看板Database
标题Re: [SQL] 如何在所有预存内查询特定表+栏位
时间Thu Oct 29 10:29:36 2020
※ 引述《alpho (阿否)》之铭言:
: 资料库名称:mssql
: 资料库版本:13.0.5026
: 内容/问题描述:
: 手机发文请见谅。
: 如题,刚遇到的问题,有个年久失修的表 ..需要查询栏位的代表意义,表栏位没注解。
: 由於很多逻辑看起来都写在sp 里,所以想先从里面翻看看。
: 虽然可以对表用找「检视相依性」然後一个个翻 ,但这个表盘根错节的扯上不少东西,
: 所以我想在土法炼钢之前先尝试看有没有比较常规的做法。
: 有找到 syscomments 和 sysobjects ,但是comments那张表 text 在用where 搜寻的时
: 候只能抓到预存里的前面一小段。
: (google到的是 [MS SQL] 查询含特定文字的Stored Procedure或View <- 这个)
: 之前比较常用MySQL,现在刚碰MSSQL 所以还不太熟 感谢。
: -----
: Sent from JPTT on my iPhone
USE [YourDB]
-- Procedure
SELECT ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE
, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES
WHERE charIndex('查询文字', ROUTINE_DEFINITION) > 0
AND ROUTINE_TYPE = 'PROCEDURE';
-- View
SELECT o.name ,o.xtype , c.text FROM SYS.SYSOBJECTS o
inner join SYS.SYSCOMMENTS c on o.id =c.id
WHERE xtype<>'D' and charIndex('查询文字', text) > 0
order by xtype
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.137.39.246 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1603938581.A.F99.html
※ 编辑: konkonchou (223.137.39.246 台湾), 10/29/2020 10:40:58
1F:推 alpho: 可用 感谢! 10/29 10:58
2F:推 paranoia5201: 高手! 10/29 21:30