sql – 表中的存储过程列表

我有一个包含100个表和存储过程的庞大数据库.使用sql Server 2005,如何获取正在对给定表执行插入或更新操作的存储过程列表.

解决方法

select
  so.name,sc.text
from
  sysobjects so inner join syscomments sc on so.id = sc.id
where
  sc.text like '%INSERT INTO xyz%'
  or sc.text like '%UPDATE xyz%'

这将为您提供所有存储过程内容的列表,其中包含针对特定表的INSERT或UPDATE(您可以显然调整查询以适应).此外,更长的过程将在返回的记录集中的多行中断开,因此您可能需要对结果进行一些手动筛选.

编辑:调整查询以返回SP名称.另请注意,上面的查询将返回任何UDF以及SP.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...