Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
2.3 kB
3
Indexable
Never
CREATE OR REPLACE FUNCTION public.RemoverBloqueiParaCardapio(_cardapioId int)
   returns bool
AS
$$
BEGIN
	begin transaction
	
   delete from "ReceituarioGeneroNutrienteBloqueio" where "ReceituarioGeneroBloqueioId" in (
		select "Id"  from "ReceituarioGeneroBloqueio" where "ReceituarioBloqueioId" in(
			select "Id"  from "ReceituarioBloqueio" where "CardapioMensalReceitaBloqueioId" in(
				select "Id" from "CardapioMensalReceitaBloqueio" where "CardapioMensalBloqueioId" in(
					select "Id" from "CardapioMensalBloqueio"  where "BloqueioCardapioId" in (
						select "Id"  from "BloqueioCardapio" where "CardapioId" = _cardapioId
					)
				))
		)
	)
	
	delete from "ReceituarioGeneroBloqueio" where "ReceituarioBloqueioId" in(
		select "Id"  from "ReceituarioBloqueio" where "CardapioMensalReceitaBloqueioId" in(
			select "Id" from "CardapioMensalReceitaBloqueio" where "CardapioMensalBloqueioId" in(
				select "Id" from "CardapioMensalBloqueio"  where "BloqueioCardapioId" in (
					select "Id"  from "BloqueioCardapio" where "CardapioId" = _cardapioId
				)
			))
	)
	
	delete from "ReceituarioBloqueio" where "CardapioMensalReceitaBloqueioId" in(
		select "Id" from "CardapioMensalReceitaBloqueio" where "CardapioMensalBloqueioId" in(
			select "Id" from "CardapioMensalBloqueio"  where "BloqueioCardapioId" in (
				select "Id"  from "BloqueioCardapio" where "CardapioId" = _cardapioId
			)
		)
	)
	
	delete  from "CardapioMensalReceitaBloqueio" where "CardapioMensalBloqueioId" in(
		select "Id" from "CardapioMensalBloqueio"  where "BloqueioCardapioId" in (
			select "Id"  from "BloqueioCardapio" where "CardapioId" = _cardapioId
		)
	)
	
	delete from "CardapioMensalUnidadeEscolarBloqueio" where "CardapioMensalBloqueioId" in(
		select "Id" from "CardapioMensalBloqueio"  where "BloqueioCardapioId" in (
			select "Id"  from "BloqueioCardapio" where "CardapioId" = _cardapioId
		)
	)

	delete from "CardapioMensalBloqueio"  where "BloqueioCardapioId" in(
		select "Id" from "BloqueioCardapio" where "CardapioId" = _cardapioId
	)
	
	delete from "BloqueioCardapio" where "CardapioId" = _cardapioId
	
	update "Cardapio" set "StatusCardapio" = 1 where "Id" = _cardapioId;
   
	return true
	commit transaction 
END;
$$
LANGUAGE plpgsql;
Leave a Comment