Re: Function parameters of rowtype
| От | Iker Arizmendi |
|---|---|
| Тема | Re: Function parameters of rowtype |
| Дата | |
| Msg-id | 402A67FF.3030502@research.att.com обсуждение исходный текст |
| Ответ на | Re: Function parameters of rowtype (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
client IP address
|
| Список | pgsql-general |
But what if there is no table? Instead, is there
some way to specify the row tuple explicitly, similar
to what is done for arrays? I'd like to create a type
and define an instance of that type as part of the
SQL statement. For example,
CREATE TYPE user_t
{
id varchar,
pwd varchar
};
CREATE FUNCTION add_user(user_t)
RETURNS INT4 AS
DECLARE
p_user ALIAS FOR $1;
BEGIN
INSERT INTO user (id, pwd)
VALUES (p_user.id, p_user.pwd);
-- etc, etc, etc
END
then, from the client I might do something like:
SELECT add_user('{john, john123}');
with something like this I can get around Postgres'
limit of 32 parameters without having to compile a
custom version of the DB. One of the entities we're
working has many more than 32 parts which I'd rather
not have to split.
Regards,
Iker
Tom Lane wrote:
> Iker Arizmendi <iker@research.att.com> writes:
>
>>How are function parameters of rowtype specified when
>>calling them from a client such as libpq?
>
>
> Something like
> select myfunc(t.*) from tab t where ...
>
> regards, tom lane
>
В списке pgsql-general по дате отправления: