Sql Can';不执行存储过程

Sql Can';不执行存储过程,sql,sql-server,database,stored-procedures,sql-server-express,Sql,Sql Server,Database,Stored Procedures,Sql Server Express,我已经创建了一个存储过程,可以在存储过程节点下看到它,但是当尝试执行时,却找不到该过程 在存储过程节点下,它被称为dbo.CopyTable exec CopyTable CopyTable未定义为红色,表示它不存在。为什么? 即使我右键单击该过程并说脚本存储过程为执行对象,它生成的代码也会用红色下划线,并且找不到存储过程。尝试添加dbo并选择正确的数据库 USE databaseName GO EXEC dbo.CopyTable GO 确保所选数据库包含存储过程CopyTable

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

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

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


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

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

USE databaseName
GO

EXEC dbo.CopyTable
GO

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

USE YourDatabase
EXEC CopyTable

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

EXEC [yourDBName].dbo.CopyTable
阅读如何

考虑到你的最新问题:

即使我右键单击该过程并说“脚本存储过程” as execute to-它生成的代码以红色和斜线划线 也可以查找存储过程


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

请尝试运行创建过程。突出显示它,f5它,然后确保它在其他地方调用之前运行

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

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

然后,当您调用您的进程时,您会得到“无效对象名dbo.CopyTable”,并假设sql在查找存储的进程时遇到问题。。。这不是问题,它是查找和运行进程,但实际上是进程中的问题。

您确定在正确的数据库上执行它吗?像
exec[dbName].dbo.CopyTable这样的东西怎么样work@nadG请看我的最新答案。您是否确保存储过程有效?您在执行时是否有任何错误?