【问题标题】:SQL 2008 R2 : Could not find stored procedureSQL 2008 R2:找不到存储过程
【发布时间】:2011-09-29 23:20:28
【问题描述】:

我正在研究 SQL 过程。
我创建了一个程序并执行。我很好……而且。它显示了

执行“exec my_procedure”时找不到存储过程

我不确定我收到此错误的原因。我是否选择了错误的目录来存储程序?

【问题讨论】:

  • 您在什么数据库和架构中创建它?
  • 请显示您创建过程并执行它的代码。

标签: sql sql-server sql-server-2008 procedure


【解决方案1】:

您可能不在查询窗口中的正确数据库中。应该有一个下拉菜单显示当前数据库(可能是主数据库)。选择您在其中创建存储过程的数据库,然后重试。

【讨论】:

  • +1 因为我不知道有谁至少没有发生过一次。
【解决方案2】:

试试这个:

USE my_database;
EXEC my_procedure;

【讨论】:

    【解决方案3】:

    很难说这可能有几个原因。

    1. 你实际上并没有执行create proc,而你认为​​你是

    2. 你不小心执行了drop proc

    3. 当你调用exec my_procedure时,你没有连接到正确的数据库

    4. 您使用不同的登录方式,它无权访问该过程

    5. 其架构与您的默认架构不同

    您可以运行它来查看您的 proc 是否存在于给定数据库中(或删除查看它们的位置)

       select * 
       from INFORMATION_SCHEMA.ROUTINES 
       where ROUTINE_NAME = 'my_procedure'
    

    也就是说,保存过程创建脚本不会影响您执行它的能力

    【讨论】:

      【解决方案4】:

      您可以使用以下命令找到所有存储过程

      exec my_database.my_schema.my_procedure
      

      如果还是失败,能否提供sp创建脚本?

      【讨论】:

        猜你喜欢
        • 2015-01-26
        • 1970-01-01
        • 2016-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-05
        相关资源
        最近更新 更多