我有以下查询
SELECT *
FROM sys.objects
WHERE type = 'P' AND name = 'MySP'
在查询窗口中运行时,它会提供所需的结果。但是当我在存储过程中运行它时,它什么都不返回。
以下是存储过程中的代码:
declare @ProcName nvarchar(255) = 'MySP'
IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = @ProcName)
THROW 51000, N'NOT_IMPLEMENTED',1;
' MySP'程序是新的,我需要刷新缓存还是什么?我在这里缺少什么?
IF
语句会引发错误,例如它没有找到任何结果,应该有。我甚至尝试使用与查询窗口完全相同的选择,但它不会返回结果。