存储过程 - 识别执行结果(非手动)

时间:2018-04-12 09:09:23

标签: sql-server tsql stored-procedures

我需要概述一下存储过程 - 它们是仅仅报告带有select语句的过程,还是它们是否修改了表中的数据。

是否可以在不查找每种情况下的过程语法的情况下获取此信息?你有什么想法吗?

致以最诚挚的问候,

2 个答案:

答案 0 :(得分:0)

USE [DatabaseName]
SELECT [name] AS ObjectName, [Type] AS ObjectType
FROM Sys.Objects
WHERE [Type] in ('P')

这将获取指定数据库中的所有SQL存储过程。

答案 1 :(得分:0)

如果是通过程序代码搜索的问题。你可以用这个:

SELECT DISTINCT 
o.Object_id 
, o.TYPE_DESC Object_type
, ORIGINAL_DB_NAME() Database_name
, SCHEMA_NAME(o.schema_id) Schema_name
, o.name Object_name
, ORIGINAL_DB_NAME() + '.' + SCHEMA_NAME(o.schema_id) + '.' + o.name 
Object_fullname
FROM syscomments c INNER JOIN sys.objects o ON c.id = o.object_id
WHERE 
c.text like '%search_expression%'