我需要概述一下存储过程 - 它们是仅仅报告带有select语句的过程,还是它们是否修改了表中的数据。
是否可以在不查找每种情况下的过程语法的情况下获取此信息?你有什么想法吗?
致以最诚挚的问候,
答案 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%'