Hallo,
Ik heb een tabel catalognc met een kolom series en een kolom scale.
Ik heb nog tabel temp_serie_schaal met een kolom series en een kolom scale.
In de eerste tabel catalognc staan bijna 40000 records.
In de tweede tabel staan 201 records.
Elke serie komt 1 of meer keer voor in catalognc.
Elke serie komt 1 keer voor in temp_serie_schaal.
Mijn query moet de scale uit tabel temp_serie_schaal lezen en naar
tabel catalognc.scale schrijven als temp_serie_schaal.series en catalognc.series gelijk zijn. Dit moet gebeuren met elke serie .
Omdit 201 keer voorkomt is dit een multiple row update.
Het probleem is ik kan nergens vinden hoe multiple update te maken is.
Tot nu toe heb ik dit :
UPDATE catalognc
SET scale = (SELECT temp_serie_schaal.scale
FROM temp_serie_schaal,catalognc
WHERE temp_serie_schaal.series = catalognc.series);
Het probleem is dat hij nu zegt dat hij meedere records terug geeft.
De ora-01427 foutmelding.
Dit klopt ook omdat de select statement 201 resultaten terug geeft.
Ik kan deze statement wel verbeteren en krijg je dit :
UPDATE catalognc
SET scale = (SELECT temp_serie_schaal.scale
FROM temp_serie_schaal,catalognc
WHERE temp_serie_schaal.series = catalognc.series
AND temp_serie_schaal.series = 'Z901');
Het probleem hier alleen is dat ik deze statement met alle verschillende series moet uitvoeren (dus 201 keer)
Hoe is het mogelijk om dit geautomatiseerd te doen met een SQL query.
Ik gebruik SQLplus en draai op ORACLE9i2.
Ik heb een tabel catalognc met een kolom series en een kolom scale.
Ik heb nog tabel temp_serie_schaal met een kolom series en een kolom scale.
In de eerste tabel catalognc staan bijna 40000 records.
In de tweede tabel staan 201 records.
Elke serie komt 1 of meer keer voor in catalognc.
Elke serie komt 1 keer voor in temp_serie_schaal.
Mijn query moet de scale uit tabel temp_serie_schaal lezen en naar
tabel catalognc.scale schrijven als temp_serie_schaal.series en catalognc.series gelijk zijn. Dit moet gebeuren met elke serie .
Omdit 201 keer voorkomt is dit een multiple row update.
Het probleem is ik kan nergens vinden hoe multiple update te maken is.
Tot nu toe heb ik dit :
UPDATE catalognc
SET scale = (SELECT temp_serie_schaal.scale
FROM temp_serie_schaal,catalognc
WHERE temp_serie_schaal.series = catalognc.series);
Het probleem is dat hij nu zegt dat hij meedere records terug geeft.
De ora-01427 foutmelding.
Dit klopt ook omdat de select statement 201 resultaten terug geeft.
Ik kan deze statement wel verbeteren en krijg je dit :
UPDATE catalognc
SET scale = (SELECT temp_serie_schaal.scale
FROM temp_serie_schaal,catalognc
WHERE temp_serie_schaal.series = catalognc.series
AND temp_serie_schaal.series = 'Z901');
Het probleem hier alleen is dat ik deze statement met alle verschillende series moet uitvoeren (dus 201 keer)
Hoe is het mogelijk om dit geautomatiseerd te doen met een SQL query.
Ik gebruik SQLplus en draai op ORACLE9i2.