powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как выбрать таблицы, использующие секвенции?
6 сообщений из 6, страница 1 из 1
Как выбрать таблицы, использующие секвенции?
    #39591514
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как выбрать таблицы, использующие секвенции и соответствующие секвенции?

Что-то такое, но не видна связь:

Код: plsql
1.
2.
SELECT * FROM information_schema.sequences ;
SELECT * FROM information_schema.columns WHERE column_default LIKE 'nextval%';
...
Рейтинг: 0 / 0
Как выбрать таблицы, использующие секвенции?
    #39591518
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот запрос

Код: sql
1.
SELECT * FROM information_schema.columns WHERE column_default LIKE 'nextval%';



дает в колонке column_default имя секвенции

Код: sql
1.
nextval('files_f_id_seq'::regclass)




Но как его распарсить, чтобы в запросе было имя секвенции?
...
Рейтинг: 0 / 0
Как выбрать таблицы, использующие секвенции?
    #39591530
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так получилось:

Код: sql
1.
2.
3.
4.
SELECT SUBSTRING(column_default,
strpos(column_default,'(')+2,
strpos(column_default,'::')-1 -(strpos(column_default,'(')+2)) as seq_name,* 
FROM information_schema.columns WHERE column_default LIKE 'nextval%';
...
Рейтинг: 0 / 0
Как выбрать таблицы, использующие секвенции?
    #39591546
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос:

есть такой запрос, выдающий имя таблицы, колонки и связаннйо секвенции.

Код: sql
1.
2.
3.
4.
5.
6.
select table_name,column_name,seq_name,nextval(seq_name::TEXT)
from 
(SELECT table_name,column_name,SUBSTRING(column_default,
strpos(column_default,'(')+2,
strpos(column_default,'::')-1 -(strpos(column_default,'(')+2)) as seq_name
FROM information_schema.columns WHERE column_default LIKE 'nextval%') t;




Как сделать такое: вывести еще и колонку с посчитанным максимум значений колонки, связанной с секвенцией?

Типа такого:
(select coalesce(max(поле_id),1) from табле)
...
Рейтинг: 0 / 0
Как выбрать таблицы, использующие секвенции?
    #39591568
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

? 8536417
...
Рейтинг: 0 / 0
Как выбрать таблицы, использующие секвенции?
    #39591573
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqРолг Хупин,

? 8536417


Да, придется делать функцию, творчески перобразовав то, что по ссылке.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как выбрать таблицы, использующие секвенции?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]