Thread: SQL statement to set next serial value to max of a table?

SQL statement to set next serial value to max of a table?

From
Jean-Christian Imbeault
Date:
I want to execute the following two pseudo-SQL statements (that set the
current value in a serial as the max of the primary key) as one SQL
statement. What is the proper syntax?

1- MAX = select max(id) from T;
2- SELECT setval('T_id_seq', MAX);

Jc


Re: SQL statement to set next serial value to max of a table?

From
rolf.ostvik@axxessit.no
Date:
Jean-Christian Imbeault <jc@mega-bucks.co.jp> wrote:

>I want to execute the following two pseudo-SQL statements (that set the
>current value in a serial as the max of the primary key) as one SQL
>statement. What is the proper syntax?
>
>1- MAX = select max(id) from T;
>2- SELECT setval('T_id_seq', MAX);

either
        SELECT setval( 'T_id_seq' , max(id) ) from T;
or
        SELECT setval( 'T_id_seq' , (select max(id) from T) );
should do it

--
Rolf