Re: Plsql Function with error: No space left on device. - Mailing list pgsql-sql
| From | David M. Richter |
|---|---|
| Subject | Re: Plsql Function with error: No space left on device. |
| Date | |
| Msg-id | 3B388D05.C3919F0F@DKFZ-heidelberg.de Whole thread Raw |
| In response to | Plsql Function with error: No space left on device. ("David M. Richter" <D.Richter@DKFZ-heidelberg.de>) |
| Responses |
Re: Plsql Function with error: No space left on device.
|
| List | pgsql-sql |
Hallo!
The query works, but not right.(apart from the timeaspect)
UPDATE image SET seriesoid = r.parentoid
FROM image i JOIN relseries_image000 r ON i.chilioid=r.childoid;
it does not same than this function:
CREATE FUNCTION series_image () RETURNS integer AS '
DECLARE
psr_rec record;
i integer := 0;
BEGIN
FOR psr_rec IN SELECT * FROM relseries_image000 LOOP
UPDATE image
SET seriesoid = psr_rec.parentoid
WHERE chilioid = psr_rec.childoid;
i := i + 1;
END LOOP;
IF NOT FOUND THEN RETURN -1;
ELSE RETURN i;
END IF;
END;
' LANGUAGE 'plpgsql';
Only always the same one oid is written in seriesoid(e.g. 0x0)
But the part of the query
Select * FROM image i JOIN relseries_image000 r ON
i.chilioid=r.childoid;
works right.
Here the Table descriptions:
Table "relseries_image000"
Attribute | Type | Modifier
-----------+-----------------------+----------
chilioid | character varying(80) |
parentoid | character varying(80) |
childoid | character varying(80) |
Indices: indseries_image_child,
indseries_image_parent
Table "series"
Attribute | Type | Modifier
---------------------+------------------------+----------
chilioid | character varying(80) |
instanceuid | character varying(64) |
number | integer |
acquisition | integer |
echonumber | integer |
temporalposition | integer |
seriesdate | date |
seriestime | time |
description | character varying(128) |
contrast | character varying(128) |
bodypartexamined | character varying(16) |
scanningsequence | character varying(16) |
frameofreferenceuid | character varying(64) |
Indices: indseries_oid,
indseries_uid
Table "image"
Attribute | Type | Modifier
---------------+------------------------+----------
chilioid | character varying(80) |
instanceuid | character varying(64) |
imagetype | character varying(64) |
number | integer |
imagedate | date |
imagetime | time |
slicelocation | double precision |
rows | integer |
columns | integer |
bitsallocated | integer |
path | character varying(256) |
relevance | integer |
thickness | double precision |
spacing_x | double precision |
spacing_y | double precision |
spacing_z | double precision |
tilt | double precision |
tableheight | double precision |
position_x | double precision |
position_y | double precision |
position_z | double precision |
window_center | integer |
window_width | integer |
seriesoid | character varying(80) |
Indices: indimage_oid,
indimage_uid
What do I have to change in the Query?
Thanks a lot
David