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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE emp (
    name        text,
    salary      numeric,
    age         integer,
    cubicle     point
);

CREATE FUNCTION double_salary(emp) RETURNS numeric AS $$
    SELECT $ 1 .salary *  2  AS salary;
$$ LANGUAGE SQL;

SELECT name, double_salary(emp.*) AS dream
    FROM emp
    WHERE emp.cubicle ~= point '(2,1)';

 name | dream
------+-------
 Bill |   8400 

По идее функция double_salary() возвращает столбец элементов salary * 2
Но в запросе ниже видно что условие прописанное в WHERE действует и в функции.

Подскажите где можно подробнее почитать как между собой взаимодействуют условия в запросе и запросы в функциях
...
Рейтинг: 0 / 0
SQL функции и композитные типы данных.
    #34820387
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi
По идее функция double_salary() возвращает столбец элементов salary * 2

Здесь ты ошибаешься:
Код: plaintext
1.
CREATE FUNCTION double_salary(emp) RETURNS SET OF numeric
Такая функция может возвращаеть столбец нюмериков. Функция из примера возвращает только одно значение
Casufi
Но в запросе ниже видно что условие прописанное в WHERE действует и в функции.

$1 внутри функции означает первый параметр этой функции. В качестве первого параметра в нее передана конкретная Row из набора строк emp. Читать надо так: SELECT что-нибудь FROM Emp и над каждой строкой Emp сделай double_salary.
Casufi
Подскажите где можно подробнее почитать как между собой взаимодействуют условия в запросе и запросы в функциях

В хелпе все понятно написано на эту тему.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / SQL функции и композитные типы данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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