Advertisement
RomioSul

delete_order_sp

May 30th, 2021
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- PROCEDURE: public.delete_order_sp(integer, integer, character varying, character varying)
  2.  
  3. -- DROP PROCEDURE public.delete_order_sp(integer, integer, character varying, character varying);
  4.  
  5. CREATE OR REPLACE PROCEDURE public.delete_order_sp(
  6.     p_mode integer,
  7.     p_id integer,
  8.     p_login character varying,
  9.     INOUT p_output character varying)
  10. LANGUAGE 'plpgsql'
  11. AS $BODY$
  12. BEGIN
  13.     DECLARE
  14.         l_OrderID           INTEGER;
  15.         l_Status            INTEGER;
  16.         l_Name             varchar(50);
  17.         l_now              TIMESTAMP  WITHOUT TIME ZONE;
  18. begin
  19.    l_now = now;
  20.  
  21.     declare
  22.         exists bit = null;
  23. BEGIN
  24.     select exists=1, l_Status=Status from public.Orders_tb where TID=p_ID;
  25.  
  26.     p_Output = '';
  27.  
  28.     if xists = 1 then
  29.    
  30.         if l_Status = 9 then
  31.             DELETE FROM public.Params_tb WHERE OrderID=p_ID;
  32.             DELETE FROM public.Items_tb WHERE OrderID=p_ID;
  33.             DELETE FROM public.PaymentChanges_t WHERE OrderID=p_ID;
  34.             DELETE FROM public.Payments_tb WHERE OrderID=p_ID;
  35.             DELETE FROM public.Comments_tb WHERE OrderID=p_ID;
  36.             DELETE FROM public.Reviewers_tb WHERE OrderID=p_ID;
  37.             DELETE FROM public.Reviews_tb WHERE OrderID=p_ID;
  38.             DELETE FROM public.OrderDates_tb WHERE OrderID=p_ID;
  39.             DELETE FROM public.OrderDocuments_tb WHERE OrderID=p_ID;
  40.             DELETE FROM public.OrderChanges_tb WHERE OrderID=p_ID;
  41.             DELETE FROM public.Unreads_tb WHERE OrderID=p_ID;
  42.             DELETE FROM public.Orders_tb WHERE TID=p_ID;
  43.         else
  44.             UPDATE public.Orders_tb SET Status=9 WHERE TID=p_ID;
  45.             l_Name = 'Êîðçèíà';
  46.             --
  47.             -- Add to Order Changes log
  48.             --
  49.             INSERT INTO public.OrderChanges_tb(OrderID, Login, Name, Value) VALUES
  50.                 (p_ID, p_Login, l_Name, '');
  51.         end if;
  52.  
  53.         select l_OrderID = p_ID;
  54.         set p_Output = 'Removed';
  55.     else
  56.         l_OrderID = 0;
  57.         p_Output = 'Invalid'
  58.             || ':' || cast(exists as varchar);
  59.     end if;
  60.  
  61.     p_Output = p_Output || ':' || cast(||l_OrderID as varchar);
  62.  
  63.     if p_Mode = 0 then
  64.         SELECT l_OrderID, p_Output FROM
  65.             public.sysobjects where id = object_id(N'public.DELETE_Order_sp') and OBJECTPROPERTY(id, N'IsProcedure') = 1;
  66.     else
  67.         return;
  68.         end if;
  69.         end;
  70.     END;   
  71. END;
  72. $BODY$;
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement