Каков правильный синтаксис для хранимых процедур (функций) PostgreSQL?

Я пытаюсь написать два типа хранимых процедур в PostgreSQL. Насколько я понимаю, у Postgre есть только функции. Мне было интересно, может ли кто-нибудь взглянуть на мой код и предложить указатели. Кроме того, я не знаком с пробелами / новыми строками команд.

Первая функция должна принимать ввод от пользователя и добавлять его в таблицу. Предположим, у нас есть имя таблицы «Автомобиль» с атрибутами «модель» и «год». Будет ли это правильная сохраненная функция для добавления нового автомобиля в таблицу?

CREATE OR REPLACE FUNCTION
    addto_car(model IN Car.model%type, year IN Car.year%type)
RETURNS
    void
AS $$
BEGIN
    INSERT INTO Car VALUES(model, year);
END;
$$ LANGUAGE plpgsql; (#Is this correct? I'm using postgresql 9)

---------- Код в процессе выполнения Функция 1

CREATE OR REPLACE FUNCTION
    addto_car(In model Car.model%type, IN year Car.year%type)
AS $$
BEGIN
    INSERT INTO Car VALUES(model, year);
END;
$$ LANGUAGE plpgsql;

Теперь это работает! (вставляет значения модель и год в автомобиль).

5
задан Erwin Brandstetter 9 October 2011 в 05:44
поделиться