aktualisieren Frageeinige Probleme zu haben dementsprechend eine gespeicherte Prozedur (falsche Syntax in der Nähe von ‚end‘)
Changed die gespeicherte Prozedur zu schaffen, aber es wird keine Werte aus irgendeinem Grund zurückkehrt, obwohl ich RETURN @UserID rechts hinzugefügt über dem letzten END.
Update 2
Ordnung egal, es ist nur Entity Framework, die mich zu necken ist. Ich habe gerade versucht, die gespeicherte Prozedur von SSMS ausgeführt und es funktionierte gut :)
Ich habe einige meiner anderen gespeicherten Prozeduren kopiert, aber jedes Mal, wenn meine Anforderungen für sie ändern, und so tut der Inhalt von ihnen. Ich bin mir nicht sicher, was ich dieses Mal falsch gemacht habe. Könnte mir bitte jemand in die richtige Richtung zeigen?
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
Der Fehler, den ich bekommen ist:
Msg 102, Ebene 15, Status 1, Prozedur GetUserID, Linie 45 [Batch Startlinie 9]
falsche Syntax in der Nähe von 'END'
In einer mehr 'END' vor dem' GO'. – DVT
Sie fehlen Ende in der letzten. Der Prozedurhauptteil wurde mit Begin gestartet. Aber es gibt kein Ende –
Das hat funktioniert! Aber warum? Ist nicht jedes ENDE von einem BEGIN begleitet? –