powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Создаю функцию с указанием строкой константы
7 сообщений из 7, страница 1 из 1
Создаю функцию с указанием строкой константы
    #39327717
mstdmstd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,
Создаю функцию с указанием строкой константы внутри функции вроде
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
drop  function if exists getProductPrices();
create or replace function getProductPrices( p_status product_status, p_sku varchar(100), p_title varchar(100) ) returns setof product as
'
declare
r product%rowtype;
begin
for r in SELECT * FROM product AS p WHERE p.id > 0 AND ( p.status= p_status OR p_status = '''' )AND ( p.title = p_title OR p_title = '' ) ORDER BY created_at loop
return next r;
end loop;
return;
end
'
language 'plpgsql';


и вызываю
Код: plsql
1.
select getProductPrices( 'D', 'wzp001', 'Product # 1' ) 



и получаю ошибку рядом с
Код: plsql
1.
OR p_status = '' 


И получаю ошибку или сохранении функции или при вызове...

Как правильно экранировать ?

авторPostgreSQL 9.3.14 on x86_64-unknown-linux-gnu

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

RTFM !!!11111!!
...
Рейтинг: 0 / 0
Создаю функцию с указанием строкой константы
    #39327723
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mstdmstd,

Первый раз встречаю попытку записать тело функции в кавычках. Это же неудобно. Используйте обычный синтаксис через $
https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html
Код: sql
1.
2.
3.
4.
5.
6.
7.
... returns setof product as 
$function$
BEGIN
    -- some code
END;
$function$
language 'plpgsql';



И с кавычками проблем нет, и редакторы нормально синтаксис тела функции подсвечивают.
...
Рейтинг: 0 / 0
Создаю функцию с указанием строкой константы
    #39327734
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mstdmstd Спасибо!столько букв нажмакал, лучше бы свой же код почитал. или не свой?
...
Рейтинг: 0 / 0
Создаю функцию с указанием строкой константы
    #39327749
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkij,

А я такое уже видел и даже сам делал.
До появления dollar-quoting надо было писать всё в кавычках и внутри функций дублировать их, у меня 8 кавычек подряд встречалось часто, да.
...
Рейтинг: 0 / 0
Создаю функцию с указанием строкой константы
    #39327750
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,

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


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