Обсуждение: SQL statement to set next serial value to max of a table?

Поиск
Список
Период
Сортировка

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

От
Jean-Christian Imbeault
Дата:
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?

От
rolf.ostvik@axxessit.no
Дата:
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