4

我创建了一个存储过程,可以在存储过程节点下看到它,但是在尝试执行时找不到该过程。

在存储过程节点下,它被称为 dbo.CopyTable

exec CopyTable 

CopyTable 未定义为红色,表示它不存在。为什么?

即使我右键单击该过程并说脚本存储过程作为执行对象 - 它生成的代码也带有红色下划线并且也找不到存储过程。

4

5 回答 5

3

确保选择的数据库包含存储过程CopyTable

USE YourDatabase
EXEC CopyTable
于 2013-02-20T15:07:29.563 回答
0

尝试运行您的 CREATE PROCEDURE。突出显示它,f5 它,然后确保它在您在其他地方调用它之前运行。

于 2013-12-02T22:28:59.353 回答
0

尝试添加dbo并选择正确的数据库,

USE databaseName
GO

EXEC dbo.CopyTable
GO
于 2013-02-20T15:06:03.663 回答
0

很可能您只是在查询窗口中的错误数据库中,您可以像这样指定数据库:

EXEC [yourDBName].dbo.CopyTable

阅读如何执行存储过程

考虑到您更新的问题:

即使我右键单击该过程并说脚本存储过程作为执行对象 - 它生成的代码也带有红色下划线并且也找不到存储过程。

如果您的存储过程无效,则可能会发生这种情况。请仔细检查 SPROC 的有效性并确保它引用的表存在等。

于 2013-02-20T15:11:47.243 回答
0

也许在您的程序中您不小心剪切粘贴了您的脚本名称 (dbo.CopyTable),比如...

SELECT * FROM dbo.CopyTable
WHERE ClientId = @ClientId
RETURN

然后,当您调用您的 proc 时,您会得到“无效的对象名称 dbo.CopyTable”,并假设 sql 无法找到存储的 proc ......这不是问题,它找到并运行 proc 但它实际上是一个问题过程。

于 2020-09-10T09:57:15.840 回答