Ir para conteúdo
Fórum Script Brasil

Tiago Casanova

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Tudo que Tiago Casanova postou

  1. Bom dia, estou tentando charmar uma função: CREATE OR REPLACE FUNCTION f_2(p_vetoratributos text[], p_vetorvalores numeric[]) RETURNS text AS $BODY$ DECLARE carbono TEXT := p_vetorvalores[6]; fosforo TEXT := p_vetorvalores[1]; boro TEXT := p_vetorvalores[7]; areia TEXT := p_vetorvalores[10]; kalcio TEXT := p_vetorvalores[5]; VAR_TESTE TEXT; BEGIN IF fosforo>=8 AND kalcio>=9 THEN VAR_TESTE = 'BAIXO'; END IF; RETURN VAR_TESTE; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION f_2(text[], numeric[]) OWNER TO postgres; Minha duvida é como chamo essa função? Tentei dessas duas formas: SELECT f_2(ARRAY['0','0','0'], ARRAY[0,1,2,3,4,5,6,7,8,9,10,11,12,13]) SELECT f_2('{"0","0","0"}', '{0,1,2,3,4,5,6,7,8,9,10,11,12,13}') Mas esta dando o seguinte erro: ERRO: operador não existe: text >= integer LINE 1: SELECT fosforo>=8 AND kalcio>=9 ^ HINT: Nenhum operador corresponde com o nome e o(s) tipo(s) de argumento(s) informados. Você precisa adicionar conversões de tipo explícitas. QUERY: SELECT fosforo>=8 AND kalcio>=9 CONTEXT: PL/pgSQL function "f_2" line 14 at IF
×
×
  • Criar Novo...