powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / функции, возвращающие рекордсет и типы
3 сообщений из 3, страница 1 из 1
функции, возвращающие рекордсет и типы
    #35635840
spyfox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у Функции, возвращающей рекордсет , должен быть определен тип возвращаемого рекордсета.
Если изменилась структура - изменился тип, причем этот тип нельзя просто взять и изменить, его нужно сначала удалить, а чтобы его удалить надо снести все функции его использующие, а для этого нужно их предварительно сбекапить или в блокнот скопировать.

Когда функций и типов становится много, а менять приходится часто - процедура добавления нового поля в таблицу превращается в геморой.

Как нить можно избежать этого гемороя? Может программы есть какие (под linux) или может имеется возможность создавать процедуры без указания типа?
...
Рейтинг: 0 / 0
функции, возвращающие рекордсет и типы
    #35635844
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может быть вам подойдут курсоры?
...
Рейтинг: 0 / 0
функции, возвращающие рекордсет и типы
    #35635929
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spyfoxКогда функций и типов становится много, а менять приходится часто - процедура добавления нового поля в таблицу превращается в геморой.Вы возвращаете свой тип, как например результат join, или тип таблицы ? со вторым же нет проблем, все alter которые были сделаны для таблицы влияют и на него:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table t1 (i int, v text);
create function foo(i int) returns setof t1 . . .
=> select * from foo( 2 );
 i | v
---+---
  2  | b
=> alter table t1 add b boolean not null default false;
=> select * from foo( 2 );
 i | v | b
---+---+---
  2  | b | f
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / функции, возвращающие рекордсет и типы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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