RE: [HACKERS] PL/pgSQL - for discussion (RETURN)
От | Jackson, DeJuan |
---|---|
Тема | RE: [HACKERS] PL/pgSQL - for discussion (RETURN) |
Дата | |
Msg-id | F10BB1FAF801D111829B0060971D839F18832A@dal_cps.cpsgroup.com обсуждение исходный текст |
Ответы |
Re: [HACKERS] PL/pgSQL - for discussion (RETURN)
|
Список | pgsql-hackers |
> Andreas wrote: > > > > > Returning from the function > > > > > > RETURN <expr>; > > > > > > The function terminates and the value of <expr> will > be > > > returned to the upper executor. The return value of > a > > > function cannot be undefined. If control reaches the > end > > > of the toplevel block of the function without hitting > a > > > RETURN statement, a runtime error will occur. > > > > 1. I think we should allow functions/procedures, that don't have a > return value. > > (think about a proc that only does an update, why return anything > except an error) > > 2. I think the RETURN will need a WITH RESUME, so a procedure can > return more than one row. > > > > create dba procedure "dns".getusers() > > returning varchar(16), smallint; > > define gotuser varchar(16); > > define gotadmin smallint; > > execute procedure checkadmin(); > > foreach select uname, admin into gotuser, gotadmin from passwd > > return gotuser, gotadmin with resume; > > end foreach; > > end procedure; > > Yup. Looks nice. But the executor neither supports sets of > tuples nor single tuple to be returned from functions (except > for 'sql' language functions). I hacked around on that with > the PL/Tcl and even if I return a heap tuple or a tuple table > slot to the upper executor, it doesn't work :-( > > > Jan > But what about Triggers?!. DEJ > -- > > #===================================================================== > =# > # It's easier to get forgiveness for being wrong than for being right. > # > # Let's break this rule - forgive me. > # > #======================================== jwieck@debis.com (Jan Wieck) > # > >
В списке pgsql-hackers по дате отправления: