rule calls function, passing OLD

Поиск
Список
Период
Сортировка
От R.Welz
Тема rule calls function, passing OLD
Дата
Msg-id D8DE87E2-D595-11D8-8F8D-0003936EF152@gmx.de
обсуждение исходный текст
Ответы Re: rule calls function, passing OLD  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Re: rule calls function, passing OLD  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-novice
Hello.
I am a beginner with pgsql and struggeling with the documentation.

Why can't I pass OLD from my rule to the function so the function knows
on which row the rule was called?


test=# \i '/home/myAccount/Documents/Datenbank Layout/Postgres
Sytax/test/Regeln2'
CREATE FUNCTION
psql:/home/myAccount/Documents/Datenbank Layout/Postgres
Sytax/test/Regeln2:16: ERROR:  function
deny_namen_telefonverweise(namen_telefonverweise) does not exist
HINT:  No function matches the given name and argument types. You may
need to add explicit type casts.
test=#


When I pass an integer instead, everything works.

Is there another way of letting the function know on which row the rule
was called?



CREATE OR REPLACE FUNCTION deny_namen_telefonverweise(record) RETURNS
void AS '
    DECLARE
    result RECORD;

    BEGIN
    /* DELETE ROW LATER */
    SELECT 1+1;

    END;
    '
    LANGUAGE 'plpgsql';


CREATE OR REPLACE RULE deny_namen_Telefonverweise AS ON DELETE TO
Namen_Telefonverweise
DO INSTEAD
SELECT DENY_Namen_Telefonverweise(OLD);


В списке pgsql-novice по дате отправления:

Предыдущее
От: "M. Bastin"
Дата:
Сообщение: Extended query: prepared statements list?
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: rule calls function, passing OLD