Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Объявить параметр и выполнить запрос / 7 сообщений из 7, страница 1 из 1
21.04.2020, 19:04
    #39949572
Шамиль Фаридович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Доброго времени суток!

В МС СКЛ это выглядит так:
Код: sql
1.
2.
3.
4.
declare @date date = '20140203'
select * 
from tb1
where rowdate > @date



В Постгресе пытаюсь выполнить следующее:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
DO
$$
declare v_date date = date '20140203';
BEGIN 
    select * 
	from tb1
	where rowdate > v_date;
END;
$$



Получаю ошибку
Код: plsql
1.
в запросе нет назначения для данных результата



Можно ли в Постгресе написать такой запрос без использования функции? Как?
...
Рейтинг: 0 / 0
21.04.2020, 21:35
    #39949687
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Код: sql
1.
2.
3.
select * 
from tb1
where rowdate >'20140203'
...
Рейтинг: 0 / 0
22.04.2020, 00:54
    #39949798
Шамиль Фаридович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Melkij,

до этого сам я конечно додуматься не мог.
Мне нужны именно параметр, причем не один,
и SELECT с его использованием.
Тривиальность примера выше лишь для наглядности.
...
Рейтинг: 0 / 0
22.04.2020, 05:35
    #39949841
igor.n
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
DO
$$
declare v_date date = date '20140203';
BEGIN
        perform
	from tb1
	where rowdate > v_date;
END;
$$
...
Рейтинг: 0 / 0
22.04.2020, 09:44
    #39949872
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Шамиль Фаридович,

1 как в мсскл тут ничего не будет. это надо запомнить.
2 есть много путей не как в мсскл.

например
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
prepare foo(int) AS select $1;
execute foo(17);
--17
execute foo(13);
--13
/*
select * from pg_prepared_statements  ;
*/


или, для иных целей :

Код: sql
1.
2.
set my.param2 to 1;
select current_setting('my.param2')


и всё не "так как мсскл"
...
Рейтинг: 0 / 0
22.04.2020, 11:33
    #39949920
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Шамиль Фаридович
Melkij,

до этого сам я конечно додуматься не мог.
Мне нужны именно параметр, причем не один,
и SELECT с его использованием.
Тривиальность примера выше лишь для наглядности.

Если вы можете прислать запрос DO со своими параметрами - вы можете ровно так же сами подставить параметры в нужные места напрямую.
...
Рейтинг: 0 / 0
22.04.2020, 14:31
    #39950004
Шамиль Фаридович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объявить параметр и выполнить запрос
Melkij,

прошу, не надо демагогий.

qwwq,

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


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