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 по дате отправления: