Re: setting local variable

Started by Elliott Prechteralmost 15 years ago4 messagesgeneral
Jump to latest
#1Elliott Prechter
elliottp@privatefundmgt.com

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

In reply to: Elliott Prechter (#1)

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

#3Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Elliott Prechter (#1)

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

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Elliott Prechter (#1)

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