> Uma pequena correção:
> 
> create or replace function contapalavras(text) returns integer AS
> $$
> palavra = args[0]
> return len(palavra.split())
> $$
> language plpythonu
> 
> Agora, mais de um espaço não é levado em conta:
> 
> SELECT contapalavras('morte e vida   severina')
> 

Caro Walter,

Nada contra plpython, mas só pra demonstrar o poder do "elefantinho"...

create or replace function contapalavras(text) returns integer as
$$
declare
  aPalavras  text[];
  iConta     integer default 0;
  iRetorno   integer default 0;
  iPos       integer default 0;
begin
  aPalavras := string_to_array($1, ' ');
  iConta    := array_upper(aPalavras, 1);

  for iPos in 1..iConta
  loop
    if trim(aPalavras[iPos]) <> '' then
      iRetorno := iRetorno + 1;
    end if;
  end loop;

  return iRetorno;
end;
$$
language 'plpgsql' immutable;

SELECT contapalavras('morte e vida   severina')

Claro que nem se compara a quantidade de código em plpython e em plpgsql, mas 
só pra exemplificar que o código pode ser feito tb em plpgsql.


--
Fabrízio de Royes Mello
[EMAIL PROTECTED]
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a