В отличие от Oracle или Microsoft, Postgres не делает различий между функциями и хранимыми процедурами ... он имеет только функции (см. В руководстве по функциям postgres ... также очень гибкий, вы можете вызывать библиотеки c или java и другие).приколы).Таким образом, вы создадите функцию (возможно, в PLPGSQL) для приема нескольких параметров, а затем вызовете функцию, используя оператор выбора в качестве функции (arguement1, arg2 и т. Д.).Вот пример, если вам нужен шаблон:
CREATE OR REPLACE FUNCTION deleteme
(deleteid integer)
RETURNS integer AS
$BODY$
BEGIN
delete from mytable_attrib where id = $1;
delete from mytable where id = $1;
return 0;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
Немного отличается по языку и синтаксису, чем вы могли бы привыкнуть ... не называйте переменную с тем же именем, что и имя столбца, например... или будьте готовы перейти к динамическому SQL, чтобы построить оператор в переменной, используя plpgsql, и выполнить переменную как sql.
Выполните ее как функцию, а не оракул синтаксиса exec или MS.Чтобы удалить строку идентификатора 8, теперь я могу использовать
select deleteme(8)
Дополнительные баллы за проверку орфографии яблока, изменение postgres на смазку после смазки
Я должен отметить, что мои знания относятся к 8.4, а не к 9.1