powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Документация PL/pgSQL
10 сообщений из 10, страница 1 из 1
Документация PL/pgSQL
    #39980897
Jack963
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, сейчас читаю документацию, там есть пример:
Добавление в таблицу первичного ключа с автоматическим именем (учтите, что в таблице может быть только один первичный ключ):
ALTER TABLE distributors ADD PRIMARY KEY (dist_id);

Возник вопрос, что значит с автоматическим именем?
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39980911
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack963,

То есть название этого constraint и нижележащего индекса будет сгенерировано базой, а не указано пользователем.
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39980917
Jack963
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,

Спасибо
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981077
Jack963
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij, а есть ли индексные таблицы в PL/pgSQL ?
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981080
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack963,

Есть массивы составных типов.
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981081
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack963
Melkij, а есть ли индексные таблицы в PL/pgSQL ?


IOT которые? нет нету...
в теории можно covering index со всеми колонками сделать который для readonly будет почти тоже самое что IOT (только места в 2 раза больше занимать).
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981082
Jack963
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Лузанов,
Подскажите, пожалуйста, как тогда эта чать кода будет выглядеть в PL/pgsql:
DECLARE
--вводимая строка
type word is table of
varchar(200)
index by integer;
str_word word;--таблица для слов из строки
str word;--таблицв для всех фраз
str2 word;--таблица для всех повторяющихся фраз в строке
str3 word;--таблица для самых длинных повторяющихся фраз
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981085
Jack963
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто мне нужно переделать задачу из PL/SQL в PL/pgSQL, а все ее решение основано на индексных таблицах
Jack963
Павел Лузанов,
Подскажите, пожалуйста, как тогда эта чать кода будет выглядеть в PL/pgsql:
DECLARE
--вводимая строка
type word is table of
varchar(200)
index by integer;
str_word word;--таблица для слов из строки
str word;--таблицв для всех фраз
str2 word;--таблица для всех повторяющихся фраз в строке
str3 word;--таблица для самых длинных повторяющихся фраз
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981087
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jack963,

+/- так, а дальше в документацию по работе с массивами:
Код: sql
1.
2.
3.
postgres=# do $$declare s varchar(200)[]; begin s := '{a}'; s := s || '{b}'; raise notice 'Cardinality: %, s[1]: %, s[2]: %', cardinality(s), s[1], s[2]; end;$$;
NOTICE:  Cardinality: 2, s[1]: a, s[2]: b
DO
...
Рейтинг: 0 / 0
Документация PL/pgSQL
    #39981090
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но это если у вас индекс всегда числовой.
Для ассоциативных массивов (index by varchar2) с массивами не получится.
Для них возможно стоит json использовать. На самый крайний случай - временные таблицы.

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


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