Gå til innhold

Stored Fuction som returnerer en verdi


Anbefalte innlegg

Heisan folkens.

 

Jeg trenger å lage en stored procedure som returnerer en verdi i stedet for et datasett. Denne skal brukes i et LINQ prosjekt. FIlen er en UserTable med dertil egnede felter som UserID og AccessLevel. Vill sende inn UserID og få igjen AccessLevel

 

Jeg vet at dette enkelt kan gjøres med C# kode og bare scanne igjennom datasett som kommer tilbake, men siden LINQ på en så enkel måte kan bruke Stored Procedures og Stored Functions så tenkte jeg at dette var mye kulere. Problemet mitt er at jeg ikke helt ser for meg hvordan den STORED PROCEDURE skal se ut. Har begynnt noe slik:

CREATE FUNCTION dbo.GetAccessLevel
 (
 @UserID int
 )
RETURNS int
AS
 BEGIN
SELECT AccessLevel from dbo.Users
where UserID = @UserID
RETURN AccessLevel
 END

Men dette vil ikke kompilere.

 

Noen som vet noe om dette?

Lenke til kommentar
Videoannonse
Annonse

Det er alltid morsomt å svare noen, selv om det er ens egne meldinger ;-)

 

Vel, fant det ut og i tilfelle noen andre lurer på det samme så legger ejg ut løsningen her:

 

create procedure dbo.GetUserAccessLevel
 (
 @UserName nvarchar(50),
 @Password nvarchar(50),
 @AccessLevel int
 )
as
 Set @AccessLevel = (Select AccessLevel from dbo.Users
							  where UserName = @UserName 
							  and Password = @Password)
 return @AccessLevel

Lenke til kommentar
Du må deklarere en variabel som du skal returnere:

CREATE FUNCTION dbo.GetAccessLevel
 (
 @UserID int
 )
RETURNS int
AS
 BEGIN
		declare @AccLvl int
SELECT @AccLvl=AccessLevel from dbo.Users
where UserID = @UserID
RETURN @AccLvl
 END

Ja, det var på denne måtenjeg endte opp. Eksemplet over der jeg brukte PROCEDURE skrev jeg inn før jeg endret til FUNCTION. Men takk alikevel.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...