drop proc sp_test
CREATE PROCEDURE sp_test
(@aar datetime) AS
WHERE year(kunde_oprettelses_dato) < @aar
DELETE FROM Laaneansoegning
WHERE year(laaneansoegning_oprettelses_dato) < @aar
go
execute sp_test 2008
select * from kunde
select * from laaneansoegning
create procedure DeleteGamleLån
@aar datetime
AS
DECLARE @Get_kunde_Id bigint
DECLARE Get_kunde_Id_iterator CURSOR FOR
select kunde.kunde_id
from kunde
where kunde_oprettelses_dato < @aar
and kunde.kunde_id = (select privatkunde.privatkunde_id from privatkunde where privatkunde.privatkunde_id = kunde.kunde_id)
begin /* procedure */
OPEN Get_kunde_Id_iterator
FETCH NEXT FROM Get_kunde_Id_iterator 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.privatkunde_Id = @Get_Lån_Id
DELETE FROM kunde WHERE kunde.kunde_Id = @Get_Lån_Id
commit transaction
FETCH NEXT FROM Get_kunde_Id_iterator INTO @Get_kunde_Id
END /* WHILE*/
CLOSE Get_kunde_Id_iterator
deallocate Get_kunde_Id_iterator /* cursor fjernes fra RAM */
end /* procedure */
Sådan har jeg den til at se ud nu, men altså... det virker ikke :/
Databasen ser sådan her ud:
http://img46.imageshack.us/img46/5699/dbbj1.jpg