Advertisement
DiceyX

Task 1

Mar 19th, 2025 (edited)
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.69 KB | Gaming | 0 0
  1. CREATE OR REPLACE FUNCTION enclosure_available
  2.     (f_id int, custom_date DATE)
  3. RETURNS BOOLEAN
  4. LANGUAGE plpgsql
  5. AS $$
  6.     DECLARE
  7.         _booking_id int;
  8.         _c BOOLEAN := FALSE;
  9.     BEGIN
  10.  
  11.         BEGIN
  12.             SELECT id
  13.             INTO STRICT _booking_id
  14.             FROM bookings WHERE id =  f_id;
  15.         EXCEPTION
  16.             WHEN NO_DATA_FOUND
  17.             THEN
  18.                 RAISE NOTICE 'Не найден вольер с id %', f_id;
  19.                 RETURN;
  20.         END;
  21.    
  22.     SELECT
  23.         CASE
  24.             WHEN custom_date BETWEEN date_begin AND date_end THEN _c
  25.             ELSE _c = TRUE
  26.         END
  27.     FROM bookings WHERE id = f_id;
  28.  
  29.     END;
  30. $$
Tags: sql
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement