Erro de sintaxe PL/pgSQL

PostgreSQL

11/08/2014

Ao tentar criar a função abaixo, retorna a mensagem
ERRO: erro de sintaxe em ou próximo a "$1"
LINE 1: ALTER SEQUENCE seq_faixa_preco RESTART WITH $1;

CREATE OR REPLACE FUNCTION altseq () RETURNS integer AS $$
DECLARE qtd integer;
BEGIN
       SELECT count(id) FROM material.faixa_preco AS registros;
       qtd = registros + 11;
       ALTER SEQUENCE seq_faixa_preco RESTART WITH qtd;
       RETURN qtd;
END;
$$ LANGUAGE PLPGSQL RETURNS NULL ON NULL INPUT;
Sergio Rocha

Sergio Rocha

Curtidas 0

Melhor post

Ronaldo Lanhellas

Ronaldo Lanhellas

11/08/2014

Tente o seguinte:

CREATE OR REPLACE FUNCTION altseq () RETURNS integer AS $$
DECLARE 
 qtd integer;
 registros integer;
BEGIN
       SELECT count(id) INTO registros FROM material.faixa_preco;
       qtd = registros + 11;
       ALTER SEQUENCE seq_faixa_preco RESTART WITH qtd;
       RETURN qtd;
END;
$$ LANGUAGE PLPGSQL RETURNS NULL ON NULL INPUT;
GOSTEI 1

Mais Respostas

Sergio Rocha

Sergio Rocha

11/08/2014

Muito obrigado. Funcionou.
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

11/08/2014

De nada :D
GOSTEI 0
POSTAR