Процедура создания хранилища в PostgreSQL [дубликат]

На этот вопрос уже есть ответ:

Я хочу создать процедуру хранения в PostgreSQL, но вижу, что она всегда имеет возврат, мне нужно сделать простой LIKE, мне не нужно ничего возвращать, это мой запрос с синтаксическими ошибками, например, он отсутствует AS после названия магазина, могу ли я дать параметрам @idarticle?

CREATE FUNCTION uspSelectlist(varchar, varchar) 
idarticulo varchar(6);
 descripcion varchar(40);
BEGIN
 SELECT IdArticulo, Descripcion FROM tblarticulos
                    WHERE (@idarticulo IS NULL OR idarticulo ILIKE @idarticulo)
                    AND (@descripcion IS NULL OR descripcion ILIKE @descripcion)
END;
' LANGUAGE 'plpgsql';

Мне нужно построить этот магазин.

0
задан 11.01.2017, 22:47
0 ответов

В postgre как функции, так и stored procedures высказываются как функции, с условием, которого вышеупомянутые возвращают void

Что-либо подобное:

CREATE OR REPLACE FUNCTION add_city(city VARCHAR(70), state CHAR(2)) 
RETURNS void AS $$
BEGIN
  INSERT INTO cities VALUES (city, state);
END;
$$ LANGUAGE plpgsql;

В твоем случае:

CREATE OR REPLACE FUNCTION uspSelectlist(idarticulo varchar(70), descripcion varchar(70)) 
RETURNS void AS $$
BEGIN
SELECT IdArticulo, Descripcion FROM tblarticulos
                WHERE (idarticulo  IS NULL OR idarticulo LIKE idarticulo)
                AND (descripcion  IS NULL OR descripcion LIKE descripcion);
END;
$$ LANGUAGE plpgsql;
0
ответ дан 03.12.2019, 17:44