Re: PL/PGSQL + inserts+updates+limit - Postgres 9.3

From: Patrick Baker <patrickbakerbr(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: PL/PGSQL + inserts+updates+limit - Postgres 9.3
Date: 2016-06-03 02:29:40
Message-ID: CAJNY3iu-h430JWpiz0xLxhtY0fEKtM_dQj3WXdXhFYw=Ny4vvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I did:

CREATE or REPLACE FUNCTION function_1_data()

RETURNS INTEGER AS $$

declare

row record;

BEGIN

-- copying the data to the backup table (not the blobs)

FOR row IN EXECUTE '

SELECT

t1.file_id

FROM

table1_n_b t1

JOIN

table3_n_b t3 ON t3.file_id = t1. file_id ORDER BY 1
LIMIT 3' LOOP

-- Creating the backup table with the essential data

EXECUTE '

INSERT INTO table2_y_b (note_id, size, file_id, full_path)

(

SELECT

t1.note_id,

t1.size,

t1.file_id,

t1.full_path

FROM

table1_n_b t1

JOIN

table3_n_b t3 ON t3.file_id = t1.file_id

) ';

-- copying the blobs to the table above

EXECUTE '

UPDATE table2_y_b t2 SET data =

(

SELECT

o1.data

FROM

original_table1_b o1

JOIN

table3_n_b t3 ON t3.file_id = o1.file_id

WHERE

t3.migrated = 0

AND

t2.file_id = o1.file_id

)

WHERE t2.file_id = row.file_id ';

-- updating the migrated column from 0 to 1

EXECUTE '

UPDATE

table2_y_b t2

SET

migrated = 1

WHERE

t2.file_id = row.file_id

AND

migrated = 0 ';

-- setting the blob as null

EXECUTE '

UPDATE

original_table1_b o1

SET

data = NULL

WHERE

o1.file_id = row.file_id ';

END LOOP;

return row.file_id;

END

$$ language 'plpgsql';

*And I'm getting the error:*

> missing FROM-clause entry for table "row"
> WHERE t2.st_ino = row.st_ino

Why does that happen?

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Michael Paquier 2016-06-03 02:32:02 Re: WAL's listing in pg_xlog by some sql query
Previous Message Sameer Kumar 2016-06-03 02:23:19 Re: WAL's listing in pg_xlog by some sql query