powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблема с написанием простой функции
25 сообщений из 64, страница 2 из 3
Проблема с написанием простой функции
    #38231633
/\/\/\/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spС каких пор цитирования является воровством?????

С тех пор пока не указан источник цитирования.
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38231637
/\/\/\/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spне приходите в мои топики!

Вы лжете! Здесь нет Ваших топиков. (Как, впрочем, и моих)
В качестве тренировки попробуйте запретить, например, мне что-либо писать.
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38231645
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/\/\/\/\/\/\/\/\/\,

я все понял :)
мне остается тогда просто игнорировать вас - а то мои ответы подпитывают вас :)
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38231651
/\/\/\/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sp,

Вы ставите слишком узкие цели. Игнорируйте сразу весь этот раздел форума.
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38231864
Ы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ы
Гость
spAles Protivнаписано :P
http://www.postgresql.org/docs/9.2/static/plpgsql-expressions.html

покажите в каком абзаце!?
Вы все еще не поняли, что в первом же?
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38232844
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ыspпропущено...
покажите в каком абзаце!?
Вы все еще не поняли, что в первом же?

ну и где же ту написано?

All expressions used in PL/pgSQL statements are processed using the server's main SQL executor. For example, when you write a PL/pgSQL statement like

Код: plsql
1.
IF expression THEN ...



PL/pgSQL will evaluate the expression by feeding a query like

Код: plsql
1.
SELECT expression
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38232875
/\/\/\/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На флоте ходил старый анекдот. Говорят, что на самом деле это был реальный случай:

"Как известно, корабли во время стояния на якорях под действием ветров и течений часто припутываются якорными цепями. Иногда так, что распутать невозможно. Тогда цепи просто обрезают и вешают другой якорь вместо утерянного.

Так и произошло с одним из эсминцев та Тихоокеанском флоте. Но резервного якоря не нашлось. Возможно, он был утерян таким же образом ранее. А тут приближались плановые учения. К которым каждый военный корабль должен быть укомплектован полностью.

На корабле нашли выход: быстро изготовили на подсобном заводе деревянный якорь, покрасили чёрным цветом и повесили как настоящий.

Учениями командовал адмирал.

И как назло, он решил покомандовать учениями с этого злополучного эсминца. Вспомнить молодость.

Зашёл на капитанский мостик. И покомандовал. «Право руля! Лево руля! Стоп машина! Отдать левый якорь!» - видимо, вспомнил свою капитанскую молодость.

А якорь то и поплыл!

Адмирал смотрит на якорь и кричит: «Капитан! Якорь плывёт!»

Капитан смотрит на плывущий якорь и спрашивает: «Где?»

«Да вот же! Вот же, товарищи офицеры!»

Товарищи офицеры наводят бинокли на горизонт и спрашивают: «Где?»

«Да вот же вот же!» - адмирал глянул под левый борт, а якоря то и нет! Утонул. Цепь, которую травил и травил боцман, в конце концов своей тяжестью его утянула под воду.

Адмирал снял фуражку, вытер вспотевшую лысину и сказал усталым голосом: «Капитан, ты тут продолжай без меня. Я спущусь прилягу…»
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38232876
eye-cutter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spЫпропущено...

Вы все еще не поняли, что в первом же?

ну и где же ту написано?

All expressions used in PL/pgSQL statements are processed using the server's main SQL executor. For example, when you write a PL/pgSQL statement like

Код: plsql
1.
IF expression THEN ...



PL/pgSQL will evaluate the expression by feeding a query like

Код: plsql
1.
SELECT expression





Смотрю в книгу - вижу ... :)

..."All expressions used in PL/pgSQL statements are processed using the server's main SQL executor"...
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233112
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eye-cutterspпропущено...

ну и где же ту написано?
пропущено...


Смотрю в книгу - вижу ... :)
..."All expressions used in PL/pgSQL statements are processed using the server's main SQL executor"...

Дествительно же там фига:

Все выражения используемые в PL/pgSQL операторах обрабатываются с использованием SQL выполнятеля....

где тут написано что expressions == PL/pgSQL statements????
тут написано что expressions в PL/pgSQL statements... но это не одно и тоже!! это же 2 большие разницы!!
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233118
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eye-cutterspпропущено...
ну и где же ту написано?
пропущено...


Смотрю в книгу - вижу ... :)
..."All expressions used in PL/pgSQL statements are processed using the server's main SQL executor"...

Напомню однако контекст беседы ->
Код: plsql
1.
RETURN expression
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233152
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot eye-cutter]spпропущено...
Смотрю в книгу - вижу ... :)
..."All expressions used in PL/pgSQL statements are processed using the server's main SQL executor"...

Иначе бы expressions нзывались бы statements, а они все-таки называются expressions!
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233162
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае

Код: plsql
1.
RETURN t.id FROM Table1 t WHERE t.name = 'lalala';



это

Код: plsql
1.
RETURN statement



(правда тут не полноценный statement - опущен SELECT)
но об этом не написано и нет даже элементарного примера с таким синтаксисом
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233275
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это всего лишь ваш домысел :)

http://www.postgresql.org/docs/9.2/static/notation.html
>> italics indicate placeholders;

RETURN expression ;

expression - это всего лишь placeholder, соответсвенно всё что идет после RETURN вычисляется как expression.

Смотрим как вычисляется expression:
PL/pgSQL will evaluate the expression by feeding a query like

SELECT expression


Т.е.
RETURN smth
->
RETURN (SELECT smth)

соответсвенно если smth = t.id FROM Table1 t WHERE t.name = 'lalala';
то и получаем желаемое
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233322
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ales Protiv,

и где же тут мои домыслы??
опять же читаем что тут написано:

докаPL/pgSQL will evaluate the expression by feeding a query like SELECT expression
PL/pgSQL вычислит выражение путем передачи его запросу типа SELECT expression

опять же речь ведется об expression!
expression и statement - это разные вещи

Так что за ваши логические домыслы спасибо, но в доке о них ничего не написано
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233334
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
x+y, amount*2 ... - expressions
SELECT t.f1 FROM Table t WHERE... - statement



кстати в доке есть пример без RETURN в котором результат возвращается просто
Код: plsql
1.
SELECT x+y;



и он таки работает, но
Код: plsql
1.
SELECT t.f1 FROM Table t WHERE...



почему-то отказывается работать
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233355
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"All expressions used in PL/pgSQL statements are processed using the server's main SQL executor"

Код: plsql
1.
RETURN expression


всё сходится, RETURN - это один из PL/pgSQL statements.
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233360
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBat,

теперь после склеивания из разных кусков оно то сходится, еще б это доке бы зафиксировать и подкрепить конкретным примером! :)
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233365
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBat"All expressions used in PL/pgSQL statements are processed using the server's main SQL executor"

Код: plsql
1.
RETURN expression


всё сходится, RETURN - это один из PL/pgSQL statements.

я не возражаю против него :) я можно даже сказать несказанно рад новому оператору, просто синтаксис не описан у него
RETURN x+y - это понятно всем, но вот что expression - это кусок синтаксиса SELECT - сходится только благодаря вашей помощи!
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233599
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что вы просто немного не уловили концепцию нескольких движков исполнения в Postgresql. Отсюда путаница.
SQL и plpgsql - обрабатываются разными обработчиками, кроме того есть plperl, plpython и проч.

Вот это:
expression - это кусок синтаксиса SELECT
не имеет смысла.

SELECT - это оператор SQL,
RETURN - это оператор PL/pgSQL

Кстати, тут уже в ветке намекали, что в вашем случае plpgsql вовсе необязателен и всё можно было решить стандартным SQL без всяких RETURN:

Код: plsql
1.
2.
3.
4.
5.
6.
create or replace function test() 
returns bigint as
$$
select count(*) from pg_tables;
$$
language sql;



С уважением и наилучшими пожеланиями.
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233603
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spно вот что expression - это кусок синтаксиса SELECT - сходится только благодаря вашей помощи!ведь в доке именно это и написано: PL/pgSQL will evaluate the expression by feeding a query like "SELECT expression" to the main SQL engine

http://www.postgresql.org/docs/9.2/static/plpgsql-expressions.html
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233754
оператор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ales ProtivМне кажется, что вы просто немного не уловили концепцию нескольких движков исполнения в Postgresql. Отсюда путаница.
SQL и plpgsql - обрабатываются разными обработчиками, кроме того есть plperl, plpython и проч.

<...>

SELECT - это оператор SQL,
RETURN - это оператор PL/pgSQL
<...>
во-во

а когда чел дойдёт до

EXECUTE - это оператор SQL,
EXECUTE - это оператор PL/pgSQL

и, что важно, они ,сцука, разные (ну и ещй что-нть в той же доке пролистает про EXECUTE в иных контекстах (языках)) - тут он вам предъявы не переставая кидать начнёть

т.ч. мешалкой его господа, мешалкой -- оно вернее будет
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233817
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatspно вот что expression - это кусок синтаксиса SELECT - сходится только благодаря вашей помощи!ведь в доке именно это и написано: PL/pgSQL will evaluate the expression by feeding a query like "SELECT expression" to the main SQL engine
http://www.postgresql.org/docs/9.2/static/plpgsql-expressions.html

вычислять выражение так же как и в операторе SELECT согласитесь - это не одно и тоже что использовать синтаксис от SELECT!
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233820
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ales ProtivКстати, тут уже в ветке намекали, что в вашем случае plpgsql вовсе необязателен и всё можно было решить стандартным SQL без всяких RETURN:

Код: plsql
1.
2.
3.
4.
5.
6.
create or replace function test() 
returns bigint as
$$
select count(*) from pg_tables;
$$
language sql;



С уважением и наилучшими пожеланиями.

Зачем намекать - у меня же сам топик с этой функции и начинается и посмотрите таки там есть вопрос!)
иначе чего бы мы тут вели речь про RETURN?
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233825
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ales Protiv,

Извините - проморгал 'sql'
...
Рейтинг: 0 / 0
Проблема с написанием простой функции
    #38233830
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оператор,

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


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