代码之家  ›  专栏  ›  技术社区  ›  Egor Pavlikhin

检查ADO.NET中是否存在存储过程?

  •  0
  • Egor Pavlikhin  · 技术社区  · 16 年前

    如何使用ADO.NET检查存储过程是否存在?除了执行select object_id()并检查结果之外,是否有特定的方法来执行此操作?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Thomas    16 年前

    你可以使用 INFORMATION_SCHEMA 这样的观点:

    Select *
    From INFORMATION_SCHEMA.ROUTINES
    Where ROUTINE_NAME = '<your procedure name>'
    
        2
  •  0
  •   Aaronaught    16 年前

    如果你问是否有一种不用 任何SQL ,那么答案是否定的。

    你可以用 SQL Management Objects 如果您真的想要一个只使用代码的解决方案,但是仅仅为了检查存储过程的存在性而添加的依赖性非常强,而且无论如何它都会在后台发出sql。

    如果你只是简单地使用 SqlCommand .

        3
  •  0
  •   marc_s MisterSmith    16 年前

    或者,如果您不关心遵守SQL标准构造(信息架构),则可以使用内置的SQL Server系统目录视图(2005及更高版本)检查:

    SELECT object_id, name
    FROM sys.procedures
    WHERE name = 'your-procedure-name-here'