Ajuda com Stored Procedure, não consigo agrupar o filtro

Firebird

25/04/2012

Olá, preciso procurar na tabela ITENS_ORCAMENTO todo registro que o status for DESIGN OU AGUARDANDO APROVAÇÃO OU PENDÊNCIA DE MATERIAL isso porque o registro da tabela ORCAMENTO é referenciada em cada item da tabela ITENS_ORCAMENTO e esses só podem ser apagados se o campo STATUS de ITENS_ORCAMENTO for um dos três status citados acima. Atualmente ela está assim:

SET TERM ^ ;

CREATE OR ALTER PROCEDURE P_VALIDA_EXCLUSAO_ORCAMENTO (
    orcamento_id integer)
returns (
    n_registros integer,
    result varchar(25))
as
declare variable total_registros integer;
begin
  select count(id) from itens_orcamento where orcamento_id = :orcamento_id and (status = DESIGN or status = AGUARDANDO APROVAÇÃO or status = PENDÊNCIA DE MATERIAL)into :total_registros;

  if (total_registros > 0) then
    result = nao pode excluir;
  else
    result = pode excluir;

   n_registros = total_registros;

  suspend;
end^

SET TERM ; ^


Mas por mais que o status do item não for um desses ele não informa que não pode excluir.

Alguém pode ajudar?

Abraços.
Júnior Garcia

Júnior Garcia

Curtidas 0
POSTAR