powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Объявить параметр и выполнить запрос
7 сообщений из 7, страница 1 из 1
Объявить параметр и выполнить запрос
    #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
Объявить параметр и выполнить запрос
    #39949687
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
select * 
from tb1
where rowdate >'20140203'
...
Рейтинг: 0 / 0
Объявить параметр и выполнить запрос
    #39949798
Шамиль Фаридович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkij,

до этого сам я конечно додуматься не мог.
Мне нужны именно параметр, причем не один,
и SELECT с его использованием.
Тривиальность примера выше лишь для наглядности.
...
Рейтинг: 0 / 0
Объявить параметр и выполнить запрос
    #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
Объявить параметр и выполнить запрос
    #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
Объявить параметр и выполнить запрос
    #39949920
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шамиль Фаридович
Melkij,

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

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

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

qwwq,

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


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