Mateus eu compilei exatamene como vc envio na versão 8.0 do pgsql e naum
derro, já versão 8.2.3 deu o mesmo erro que deu ai p/ vc. Talvez seja isso.
Agora um pergunta: pq vc percisa alterar o sequenciador com o maior da campo
codigo?
Não vejo o pq vc precise fazer isso, ou vc usa o max(codigo) de um tabela ou
o sequence, o efeito final é o mesmo.
Talvez vc esteja com algum erro de conteito ai? se vc quiser detalhar, posso
tentar ajudar.
Adriano

Em 15/03/07, Mateus <[EMAIL PROTECTED]> escreveu:

Estou tentando fazer uma função onde o parametro "text" será o nome da
sequence o integer o select max da tabela onde eu quero pegar o valor
que sera atribuido a sequence.

Para executar ficaria assim:
select * from alt_seq('next_tabela',(select max(codigo) from tabela));

Quando e mando compilar a função aparece o sequinte erro:

ERROR: syntax error at or near "$1"
SQL state: 42601
Context: SQL statement in PL/PgSQL function "alt_seq" near line 7

Tem como eu alterar o valor da sequence com uma função ou procedure ?


CREATE OR REPLACE FUNCTION alt_seq(text, integer)
   RETURNS boolean AS
$BODY$
DECLARE
   v1 text := $1;
   v2 integer := $2;

BEGIN
   ALTER SEQUENCE v1 RESTART WITH v2;
   RETURN TRUE;
END;
$BODY$
   LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION alt_seq(text, integer) OWNER TO postgres;
_______________________________________________
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

_______________________________________________
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