Re: What's wrong with this function

Поиск
Список
Период
Сортировка
От
Тема Re: What's wrong with this function
Дата
Msg-id 01020921170307.05071@localhost.localdomain
обсуждение исходный текст
Ответ на What's wrong with this function  (Najm Hashmi <najm@mondo-live.com>)
Список pgsql-sql
the select query returns the first row to rec. You can then access its values with:
rec.field_name
at END LOOP it jumps back to FOR checks to see if there any more rows and if so moves to the next row and repeats the
loop.
 
It also looks like your missing a LOOP keyword at the end of the FOR line.
Here is an example that works.

CREATE FUNCTION get_children (integer) RETURNS integer AS
'
� � DECLARE
� � � � pnode_parent ALIAS FOR $1;
� � � � rec RECORD;
� � BEGIN
� � � � FOR rec IN SELECT * FROM �tree_adjacency_matrix WHERE node_parent = pnode_parent LOOP
� � � � � � INSERT INTO test (node1, node2) VALUES(stm.node_child, .rec.node_parent);
� � � � END LOOP;
� � � � RETURN 0;
� � END;
'LANGUAGE 'plpgsql'

Mark
On Saturday 10 February 2001 18:04, Najm Hashmi wrote:
> Hi all,
>  Here  is a plpgsql function:
> flipr'#create function test_cur() returns text as'
> flipr'# declare
> flipr'#  mycur  cursor for select title from songs where song_id=10;
> flipr'#  usr        record;
> flipr'#  results    text;
> flipr'# begin
> flipr'#  open mycur;
> flipr'#  fetch next from mycur into usr;
> flipr'#  close mycur;
> flipr'#  results:= usr.title;
> flipr'#
> flipr'# end;
> flipr'# ' language 'plpgsql';
> CREATE
> flipr=# select test_cur() as Title;
> NOTICE:  plpgsql: ERROR during compile of test_cur near line 2
> ERROR:  parse error at or near "cursor"
>
> What I am doing wrong?
> Thanks in advance for your help.
> Regards, Najm


В списке pgsql-sql по дате отправления:

Предыдущее
От: Najm Hashmi
Дата:
Сообщение: String Concatnation
Следующее
От: "Brett W. McCoy"
Дата:
Сообщение: Re: String Concatnation