【问题标题】:Stored procedures - identifying the result of execution (not manually)存储过程 - 识别执行结果(非手动)
【发布时间】:2018-04-12 09:09:23
【问题描述】:

我需要对存储过程进行概述——它们是否只是报告带有 select 语句的过程,或者它们是否修改了表中的数据。

是否有可能在不搜索过程语法的情况下获得这些信息?你有什么想法吗?

最好的问候,

【问题讨论】:

    标签: sql-server tsql stored-procedures


    【解决方案1】:
    USE [DatabaseName]
    SELECT [name] AS ObjectName, [Type] AS ObjectType
    FROM Sys.Objects
    WHERE [Type] in ('P')
    

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

    【讨论】:

      【解决方案2】:

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

      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%'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-15
        • 2010-10-04
        • 2018-06-21
        • 2016-02-01
        • 2017-10-07
        • 1970-01-01
        • 1970-01-01
        • 2017-03-22
        相关资源
        最近更新 更多