Rowtype or Record parameters to pl/pgsql functions

Поиск
Список
Период
Сортировка
От Diana Duncan
Тема Rowtype or Record parameters to pl/pgsql functions
Дата
Msg-id 5E55AE46-9927-11D7-9DBF-000A959D05EC@nc.rr.com
обсуждение исходный текст
Ответы Re: Rowtype or Record parameters to pl/pgsql functions  (Joe Conway <mail@joeconway.com>)
Список pgsql-general
The documentation for section 19.3 Declarations for pl/pgsql states:
Parameters to a function can be composite types (complete table rows).
In that case, the corresponding identifier $n will be a row variable,
and fields can be selected from it, for example $1.user_id.

See
http://www.postgresql.org/docs/
view.php?version=7.3&idoc=1&file=plpgsql-declarations.html

But how is this declared in the function? When I attempt to declare a
function as follows:

CREATE FUNCTION "insert_history" (ip_resources_current%rowtype,
interval) RETURNS integer AS '
declare
v_currentRec alias for $1;
...

I get an error upon creation - ERROR: parser: parse error at or near
"%" at character 54

When I replace the %rowtype with the datatype record, the function is
created all right, but when it is called from another function with a
rowtype or a record variable named xrefrec, I get a runtime error -
ERROR: Attribute "xrefrec" not found

I can't seem to find any examples of this.  I posted the observation in
the interactive docs, but figure I won't actually get an answer there.
So I'm hoping someone on the list will know?  I tried searching the
archive, but I guess the database is down currently.

Thanks so much,


Diana Duncan
-- This message was written on a new Mac Powerbook G4 17".  Yes, 17".
Cower, mortals!


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

Предыдущее
От: Matthew Rudolph
Дата:
Сообщение: Speed/Performance with pg_restore
Следующее
От: "Henrik Steffen"
Дата:
Сообщение: Re: update phenomenom