Обсуждение: Re: setting local variable
I have a function which looks like this: ... declare _object bigint; begin set _object = insert into object (object_type,name) values ('type1','test object'); insert into ref (object,refname) values (_object,'test object reference'); end; ... However I get a syntax error on the line 'set _object = insert ....' I searched through the docs but don't know what I'm doing wrong. Thanks! Elliott
On 23/04/2011 23:54, Elliott Prechter wrote: > I have a function which looks like this: > > ... > declare _object bigint; > begin > set _object = insert into object (object_type,name) values > ('type1','test object'); > insert into ref (object,refname) values (_object,'test object reference'); > end; > ... > > However I get a syntax error on the line 'set _object = insert ....' > > I searched through the docs but don't know what I'm doing wrong. What language are you using? Ray. -- Raymond O'Donnell :: Galway :: Ireland rod@iol.ie
On Saturday, April 23, 2011 3:54:05 pm Elliott Prechter wrote: > I have a function which looks like this: > > ... > declare _object bigint; > begin > set _object = insert into object (object_type,name) values > ('type1','test object'); > insert into ref (object,refname) values (_object,'test object reference'); > end; > ... > > However I get a syntax error on the line 'set _object = insert ....' > > I searched through the docs but don't know what I'm doing wrong. What are you trying to set _object to, the id value of the inserted row? > > Thanks! > Elliott -- Adrian Klaver adrian.klaver@gmail.com
Elliott Prechter <elliottp@privatefundmgt.com> writes: > I have a function which looks like this: > ... > declare _object bigint; > begin > set _object = insert into object (object_type,name) values > ('type1','test object'); > insert into ref (object,refname) values (_object,'test object reference'); > end; > ... > However I get a syntax error on the line 'set _object = insert ....' In plpgsql it's just "variable := value", no SET keyword. However, you've got more problems than that: INSERT doesn't return a value. It's not at all clear what you expect that to do. regards, tom lane