更新问题
相应地更改了存储过程,但由于某种原因它没有返回任何值,即使我在最后一个END上方添加了RETURN @UserID。
更新2
好吧没关系,只是实体框架在戏弄我。我刚尝试从SSMS运行存储过程,它运行良好:)
我一直在复制我的其他一些存储过程,但每次我对它们的要求都会改变,它们的内容也会改变。不知道这次我做错了什么,有人可以指出我正确的方向吗?
const int a = 40;
auto &b = a;
我得到的错误是:
Msg 102,Level 15,State 1,Procedure GetUserID,Line 45 [Batch Start Line 9]
'END'附近的语法不正确
答案 0 :(得分:3)
您错过了脚本中的最终END
(GO
之前)。
更正后的脚本:
CREATE PROCEDURE [dbo].[GetUserID]
(
-- Add the parameters for the function here
@UUID varchar(36),
@SuperID varchar(33)
)
AS
BEGIN
SET NOCOUNT ON
SET ARITHABORT ON
DECLARE @SuperIDExists bit
DECLARE @UserID int
SELECT @SuperIDExists =
CASE WHEN EXISTS (
SELECT *
FROM dbo.[Users] AS u
WHERE u.SuperID = @SuperID
)
THEN CAST(1 as bit)
ELSE CAST(0 as bit)
END
IF @SuperIDExists = 1
BEGIN
SELECT @UserID =
(SELECT u.ID
FROM dbo.[Users] AS u
WHERE u.SuperID = @SuperID)
END
ELSE
BEGIN
SELECT @UserID =
(SELECT u.ID
FROM dbo.[Users] as U
WHERE u.UUID = @UUID)
END
END -- <------- ADDED `END`
GO