create procedure deleteGamlekund er
@aar datetime
AS
DECLARE @Get_kunde_Id bigint
DECLARE Get_kunde_Id_it erator CURSOR FOR
select kunde.kunde_id
from kunde
where kunde_oprettels es_dato < @aar
and kunde.kunde_id = (select privatkunde.pri vatkunde_id from privatkunde where privatkunde.pri vatkunde_id = kunde.kunde_id)
and kunde.kunde_id = (select foreningskunde_ id from foreningskunde where foreningskunde. foreningskunde_ id = kunde.kunde_id)
begin /* procedure */
OPEN Get_kunde_Id_it erator
FETCH NEXT FROM Get_kunde_Id_it erator INTO @Get_kunde_Id
print '@@FETCH_STATUS :'
print @@FETCH_STATUS
WHILE (@@FETCH_STATUS = 0) /* @@FETCH_STATUS : 0 hvis fetch lykkedes, -1 hvis der er fejl, -2 hvis der ikke returneres flere */
BEGIN /* WHILE*/
print 'ID :'
print @Get_kunde_Id
Begin transaction
DELETE FROM privatkunde WHERE privatkunde.pri vatkunde_Id = @Get_kunde_Id
DELETE FROM foreningskunde WHERE foreningskunde. foreningskunde_ id = @get_kunde_id
DELETE FROM kunde WHERE kunde.kunde_Id = @Get_kunde_Id
commit transaction
FETCH NEXT FROM Get_kunde_Id_it erator INTO @Get_kunde_Id
END /* WHILE*/
CLOSE Get_kunde_Id_it erator
deallocate Get_kunde_Id_it erator /* cursor fjernes fra RAM */
end /* procedure */
execute deletegamlekund er 2008
You can se the database here: http://img46.imageshac k.us/img46/5699/dbbj1.jpg
The problem is, that it doesnt delete from those tables... I just don't know why :/
@aar datetime
AS
DECLARE @Get_kunde_Id bigint
DECLARE Get_kunde_Id_it erator CURSOR FOR
select kunde.kunde_id
from kunde
where kunde_oprettels es_dato < @aar
and kunde.kunde_id = (select privatkunde.pri vatkunde_id from privatkunde where privatkunde.pri vatkunde_id = kunde.kunde_id)
and kunde.kunde_id = (select foreningskunde_ id from foreningskunde where foreningskunde. foreningskunde_ id = kunde.kunde_id)
begin /* procedure */
OPEN Get_kunde_Id_it erator
FETCH NEXT FROM Get_kunde_Id_it erator INTO @Get_kunde_Id
print '@@FETCH_STATUS :'
print @@FETCH_STATUS
WHILE (@@FETCH_STATUS = 0) /* @@FETCH_STATUS : 0 hvis fetch lykkedes, -1 hvis der er fejl, -2 hvis der ikke returneres flere */
BEGIN /* WHILE*/
print 'ID :'
print @Get_kunde_Id
Begin transaction
DELETE FROM privatkunde WHERE privatkunde.pri vatkunde_Id = @Get_kunde_Id
DELETE FROM foreningskunde WHERE foreningskunde. foreningskunde_ id = @get_kunde_id
DELETE FROM kunde WHERE kunde.kunde_Id = @Get_kunde_Id
commit transaction
FETCH NEXT FROM Get_kunde_Id_it erator INTO @Get_kunde_Id
END /* WHILE*/
CLOSE Get_kunde_Id_it erator
deallocate Get_kunde_Id_it erator /* cursor fjernes fra RAM */
end /* procedure */
execute deletegamlekund er 2008
You can se the database here: http://img46.imageshac k.us/img46/5699/dbbj1.jpg
The problem is, that it doesnt delete from those tables... I just don't know why :/
Comment