30. januar 2007 - 09:34Der er
9 kommentarer og 1 løsning
Stored procedure
Jeg skal have lavet en stored procedure, som kan håndtere voting.
Jeg kalder proceduren med 2 variable, et brugerid og et stemmeid.
Derefter skal proceduren slå op i tabel RATINGS for at se om brugeren allerede har stemt 3 gange (som er max antal stemmer). Hvis brugeren stadig har stemmer tilgode skal RATINGS opdateres med en ny række med brugerideet og stemmeideet.
Noget i denne stil skrevet i asp:
function Stem (BID,SID) sql = "select count(*) as antal from Ratings where BID = "&BID set Record = DB.Execute(sql)
if Record("antal") < 3 then sql2 = "update Ratings set BID="&BID&" and SID="&SID DB.Execute(sql2) else response.write "Du har allerede stemt 3 gange" end if
end function
----------------------
Men hvordan skriver jeg det i en stored procedure?
CREATE PROCEDURE Voting @BID Int, @SID int AS BEGIN if((select count(*) as antal from Ratings where BID =@BID)<3) BEGIN update Ratings set BID=@BID and SID=@SID END END
CREATE PROCEDURE Voting @BID Int, @SID int, @msg varchar(255) output AS BEGIN if((select count(*) as antal from Ratings where BID =@BID)<3) BEGIN update Ratings set BID=@BID and SID=@SID SET @msg='Din stemme er gemt' END ELSE BEGIN SET @msg='Du har allerede stemt 3 gange' END
Ved en normal sql query er mit output jo en række. Hvordan skal jeg gøre det med en variabel fra en stored procedure?
set Record=DB.Execute(sql) response.write Record("msg")
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.