OVH Cloud OVH Cloud

[Transact SQL]

2 réponses
Avatar
MrVertigo
Hello tout le monde,

J'ai un soucis de newbie sur transact SQL, je cherche =E0=20
faire une proc=E9dure stock=E9 (cf plus bas) ... et il me fait=20
une erreur=20

Line 16: Incorrect syntax near '@OUTNick'.

Je comprends pas ...=20

Merci


CREATE PROCEDURE LoginUser
@Login nvarchar(100),@Password nvarchar(30),
@OUTNick nvarchar(30) OUT,@OUTCredits int OUT


AS

DECLARE @Credits int, @NickName varchar(30)

SELECT @NickName=3DNickname,@Credits=3DCredits
FROM _Users
WHERE Mail=3D@Login AND Password=3D@Password

IF @@rowcount=3D1
BEGIN
@OUTNick =3D @NickName
@OUTCredits =3D @Credits
RETURN 0
END
ELSE
BEGIN
IF @@rowcount=3D0
RETURN 1
ELSE
RETURN 2
END


GO

2 réponses

Avatar
David
il faut un 'select' pour l'affectation de valeur à une
variable :

BEGIN
SELECT @OUTNick = @NickName
SELECT @OUTCredits = @Credits
RETURN 0
END

:-)

David

-----Message d'origine-----
Hello tout le monde,

J'ai un soucis de newbie sur transact SQL, je cherche à
faire une procédure stocké (cf plus bas) ... et il me


fait
une erreur

Line 16: Incorrect syntax near '@OUTNick'.

Je comprends pas ...

Merci


CREATE PROCEDURE LoginUser
@Login nvarchar(100),@Password nvarchar(30),
@OUTNick nvarchar(30) OUT,@OUTCredits int OUT


AS

DECLARE @Credits int, @NickName varchar(30)

SELECT @NickName=Nickname,@Credits=Credits
FROM _Users
WHERE Mail=@Login AND Password=@Password

IF @@rowcount=1
BEGIN
@OUTNick = @NickName
@OUTCredits = @Credits
RETURN 0
END
ELSE
BEGIN
IF @@rowcount=0
RETURN 1
ELSE
RETURN 2
END


GO

.



Avatar
Synopsis
Vous pouvez affectez directement vos valeurs à
@OUTNick et @OUTCredits

Créez une clef primaire sur @login.


----------------------------------------------

CREATE PROCEDURE LoginUser
@Login nvarchar(100),@Password nvarchar(30),
@OUTNick nvarchar(30) OUT,@OUTCredits int OUT
AS

SELECT @OUTNick=Nickname,@OUTCredits=Credits
FROM _Users
WHERE Mail=@Login AND Password=@Password

RETURN (@@rowcount)

GO



"MrVertigo" a écrit dans le message de
news:3a4501c4a099$1d502a90$
Hello tout le monde,

J'ai un soucis de newbie sur transact SQL, je cherche à
faire une procédure stocké (cf plus bas) ... et il me fait
une erreur

Line 16: Incorrect syntax near '@OUTNick'.

Je comprends pas ...

Merci


CREATE PROCEDURE LoginUser
@Login nvarchar(100),@Password nvarchar(30),
@OUTNick nvarchar(30) OUT,@OUTCredits int OUT


AS

DECLARE @Credits int, @NickName varchar(30)

SELECT @NickName=Nickname,@Credits=Credits
FROM _Users
WHERE Mail=@Login AND Password=@Password

IF @@rowcount=1
BEGIN
@OUTNick = @NickName
@OUTCredits = @Credits
RETURN 0
END
ELSE
BEGIN
IF @@rowcount=0
RETURN 1
ELSE
RETURN 2
END


GO