无法找到存储过程,但可以执行它

Pea*_*key 10 sql-server-2008

我是SQL Server的新手,并创建了我的第一个存储过程.它执行正常,我可以在"可编程性","存储过程"下找到它,所以我弹出一个新的查询并键入以下语句:

use name_of_database
exec name_of_stored_procedure 'value'
Run Code Online (Sandbox Code Playgroud)

但是,在执行存储过程之前,存储过程的名称以红色下划线,注意到找不到它,因此我运行查询:

select * from INFORMATION_SCHEMA.ROUTINES where ROUTINE_NAME = 'name_of_stored_procedure'
Run Code Online (Sandbox Code Playgroud)

纳达.它什么都不返回.

但是,如果我继续执行存储过程,它可以正常工作.

我究竟做错了什么?

小智 24

对于SSMS,您只需要清除Intellisense缓存(Ctrl + Shift + R).然后红色波浪线将消失,Intellisense将帮助你解决这个问题.

如果您可以在对象资源管理器中的可编程性 - >存储过程下查看存储过程,那么您将能够通过select * from information_schema.routines ...查询查看它.检查数据库上下文以及查询的其余部分.取出该where子句并查看整个结果集.