min cursor ser ikke ud til at loope i while statement
Hej jeg er ved at lære ms sql og stored procedure, triggers mm.Jeg arbejder med en trigger der skal opdatere et felt antal i tabellen afdeling. jeg bruger en cursor til at tælle antal medlmer af en afdeling.
antal feltet bliver faktisk opdateret ved insert, men den bliver sat til 0 ( ikke null)
PS. jeg har læst en masse om at cursor er meget resource krævende og langsom, noget man skal prøve at undgå, men jeg vil nu gerne lære at bruge det alligevel :-)
kode
TRIGGER opdate_antal
ON afdeling
AFTER insert
AS
BEGIN
SET NOCOUNT ON;
declare @afdnr smallint
declare pegefinger CURSOR for
select afdnr from AFDELING
open pegefinger
FETCH pegefinger into @afdnr
WHILE @@FETCH_STATUS = 0 BEGIN
update AFDELING
set antal = (select COUNT(*) from MEDLEM where afdnr = @afdnr)
FETCH NEXT FROM pegefinger into @afdnr
END --WHILE
close pegefinger
deallocate pegefinger
END
GO