Safiron

3. příklad - Procedura

Mar 25th, 2012
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.08 KB | None | 0 0
  1. USE [student]
  2. GO
  3. /****** Object:  StoredProcedure [urb0061].[ZrusRezervace]    Script Date: 03/25/2012 14:15:01 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER procedure [urb0061].[ZrusRezervace] (@p_date date, @p_pocet int out )
  9. as
  10. begin
  11.     deallocate c_datumy;    -- HÁŽE MI TO ERROR JAK TO TU NEMÁM
  12.     declare c_datumy cursor for select ReservationDate from Reservation;    -- NAKRMÍM KURZOR DATUMY REZERVACE
  13.     declare @v_rozdil int-- ROZDÍL DATUMŮ V HODINÁCH
  14.     declare @v_datum date-- JEDEN DATUM REZERVACE
  15.     set @p_pocet = 0        -- VÝSTUPNÍ PARAMETR - POČET ZMĚNĚNÝCH ZÁZNAMŮ
  16.     open c_datumy;
  17.     fetch next from c_datumy into @v_datum;
  18.        
  19.     while @@FETCH_STATUS = 0
  20.         begin
  21.             select @v_rozdil = DATEDIFF ( hour, @v_datum, @p_date); -- FUNKCE SPOČÍTÁ ROZDÍL MEZI DVĚMA DATUMY A VRÁTÍ VÝSLEDEK V HODINÁCH
  22.             if @v_rozdil > 48
  23.                 update Reservation set canceledDate = @p_date;  -- DO TABULKY NAPÍŠU DNEŠNÍ DATUM - DATUM ZRUŠENÍ REZERVACE
  24.                 set @p_pocet = @p_pocet + 1;
  25.                
  26.             fetch next from c_datumy into @v_datum;
  27.         end
  28.     close c_datumy;
  29. end
Advertisement
Add Comment
Please, Sign In to add comment