Daca aveti o procedura in sql server care este mai lunga si contine mai multe operatii aveti doua solutii daca ea da eroare :
1. sa o spargeti in mai multe proceduri si sa le executati pe rind – destul de dificil daca este una mar
2. sa puneti ‘print ‘ la fiecare terminare de executie ca sa vedeti unde se opreste – doar ca print-ul trebuie sa contina ceva diferit de fiecare data.
Asa ca m-am gindit sa fac o procedura ca sa faca acest lucru automat:
Ca utilizare este imediata:
declare @var int -- nu e nevoie de initializare... exec @var =dbo.fStep @var -- cod exec @var =dbo.fStep @var -- cod exec @var =dbo.fStep @var -- cod
Si iata procedura :
create proc dbo.fStep( @counter int) as begin declare @a varchar(100) if(@counter is null) set @counter =1 set @a= 'step ' + cast(@counter as varchar) + ' at ' + convert(varchar,getdate(),121) print getdate() print @a return (@counter +1) end
Mai rau e cand trebuie sa “sparg” o procedura in oracle… acolo e urat de tot… mai ales daca se folosesc tabele temporare si eroarea nu se reproduce decat pe productie