我已经创建了一个存储过程并且可以在存储过程节点下看到它,但是当尝试执行它时却找不到该过程。
在存储过程节点下,它被称为dbo.CopyTable
exec CopyTable
CopyTable未定义为红色,表示它不存在。为什么呢?
即使我右键单击该过程并将脚本存储过程称为执行 - 它生成的代码带有红色下划线并且无法找到存储过程。
答案 0 :(得分:3)
确保所选数据库包含存储过程CopyTable
USE YourDatabase
EXEC CopyTable
答案 1 :(得分:0)
答案 2 :(得分:0)
您很可能只是在查询窗口中的错误数据库中,您可以像这样指定数据库:
EXEC [yourDBName].dbo.CopyTable
阅读如何Execute a Stored Procedure
考虑更新后的问题:
即使我右键单击该过程并说出脚本存储过程 执行时 - 它生成的代码用红色和斜面加下划线 找到存储过程。
如果您的存储过程无效,可能会发生这种情况。请仔细检查SPROC的有效性,并确保它所引用的表格等等。
答案 3 :(得分:0)
尝试运行您的CREATE PROCEDURE。突出显示它,f5它,然后确保它在其他地方调用它之前运行。
答案 4 :(得分:0)
也许在您的过程中,您不小心剪切了脚本名称(dbo.CopyTable),说了类似...
SELECT * FROM dbo.CopyTable
WHERE ClientId = @ClientId
RETURN
然后,当您调用proc时,将得到“无效的对象名称dbo.CopyTable”,并假定sql在查找存储过程时遇到了麻烦...这不是问题,它可以找到并运行proc,但实际上是过程中出现问题。