Re: Copying a rowtype variable.
От | Rison, Stuart |
---|---|
Тема | Re: Copying a rowtype variable. |
Дата | |
Msg-id | 6BD8CE460CC6EE40B83DDFCED609F84B964D55@cmnt4008.rvc.ac.uk обсуждение исходный текст |
Ответ на | Copying a rowtype variable. ("Rison, Stuart" <srison@rvc.ac.uk>) |
Список | pgsql-sql |
>> 2) I am looking for an elegant way of copying a rowtype variable: >> >> eg. >> >> DECLARE >> current_row orf%ROWTYPE; >> previous_row orf%ROWTYPE; >> BEGIN >> >> LOOP >> -- use cursors or FOR SELECT to get values into current_row >> -- now try this: >> >> previous_row = current_row; >> END LOOP; >> END; >> >> Now, as I anticipated, this fails because a rowtype variable is a >> composite >> variable. One working alternative is to do: >> > > I haven't tried this. One thing I notice above is that you're using > the equality operator "=" instead of the assignment operator ":=" . > Usually Postgres lets you slack on this, but it would be worth trying > to see whether that has an effect on the problem. > Fair point. But "previous_row := current_row" doesn't work either. > Another thing to try is, instead of a simple variable assignment > > SELECT current_row INTO previous_row; > > ... and see if that works. Well, I had high hopes for that one... but it didn't work either! > I'll tinker later today; there has to be a way to do it. I'd definitely appreciate further suggestions, but thanks all the same for you help. I have a feeling that you might have to write a PL function to perform the operation... but I haven't really thought about it! Stuart.
В списке pgsql-sql по дате отправления: