I have a database with a Blob
column that contains XML files. I would like to retrieve the values of XML tags stored in Blob in this database to detail them in their respective columns in another database.
So, how can I get the value of the x
tag ( as shown in the SQL queries below ) and insert it into the x
column of my other database?
SELECT id,
EXTRACTVALUE(Value(p), 'activites/categorieProjet/text()') As categorieProjet,
EXTRACTVALUE(Value(p), 'activites/coutParBeneficiaire/text()') As coutParBeneficiaire,
EXTRACTVALUE(Value(p), 'activites/etat/text()') As etat,
EXTRACTVALUE(Value(p), 'activites/idActivite/text()') As IdActivite,
EXTRACTVALUE(Value(p), 'activites/nbreDeBeneficiaires/text()') As nbreDeBeneficiaires,
EXTRACTVALUE(Value(p), 'activites/nbsession/text()') As nbsession,
EXTRACTVALUE(Value(p), 'activites/nom/text()') As nom,
EXTRACTVALUE(Value(p), 'activites/objectifSpecifique/text()') As objectifSpecifique,
EXTRACTVALUE(Value(p), 'activites/participation/text()') As participation,
EXTRACTVALUE(Value(p), 'activites/publicConcerne/text()') As publicConcerne,
EXTRACTVALUE(Value(p), 'activites/thematique/text()') As thematique,
EXTRACTVALUE(Value(p), 'activites/typeActivite/text()') As typeActivite,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[1]') As zoneGeographiques,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[2]') As zoneGeographiques,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[3]') As zoneGeographiques,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[4]') As zoneGeographiques,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[5]') As zoneGeographiques,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[6]') As zoneGeographiques,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[7]') As zoneGeographiques
FROM
artpiece x,
TABLE(XMLSEQUENCE(
EXTRACT(XMLTYPE(blob2clob(x.blob_piece)),'/instructionAC/activites')
))p
where rf_pieg = 'PIEG0034';
hello everyone I found the solution to my problem if it can help someone :
> ** creation of new table
------------------------
create table TestSipac(
categorieProjet varchar2(100),
coutParBeneficiaire varchar2(100),
etat varchar2(100),
IdActivite varchar2(100),
nbreDeBeneficiaires varchar2(100),
nbsession varchar2(100),
objectifSpecifique varchar2(100),
participation varchar2(100),
publicConcerne varchar2(100),
thematique varchar2(100),
typeActivite varchar2(100),
zoneGeographiques1 varchar2(100),
zoneGeographiques2 varchar2(100),
zoneGeographiques3 varchar2(100),
zoneGeographiques4 varchar2(100),
zoneGeographiques5 varchar2(100)
)
***
DECLARE
categorieProjet varchar2(100);
coutParBeneficiaire varchar2(100);
etat varchar2(100);
IdActivite varchar2(100);
nbreDeBeneficiaires varchar2(100);
nbsession varchar2(100);
objectifSpecifique varchar2(300);
participation varchar2(100);
publicConcerne varchar2(100);
thematique varchar2(100);
typeActivite varchar2(100);
zoneGeographiques1 varchar2(100);
zoneGeographiques2 varchar2(100);
zoneGeographiques3 varchar2(100);
zoneGeographiques4 varchar2(100);
zoneGeographiques5 varchar2(100);
BEGIN
for i in (select
EXTRACTVALUE(Value(p), 'activites/categorieProjet/text()') As categorieProjet,
EXTRACTVALUE(Value(p), 'activites/coutParBeneficiaire/text()') As coutParBeneficiaire,
EXTRACTVALUE(Value(p), 'activites/etat/text()') As etat,
EXTRACTVALUE(Value(p), 'activites/idActivite/text()') As IdActivite,
EXTRACTVALUE(Value(p), 'activites/nbreDeBeneficiaires/text()') As nbreDeBeneficiaires,
EXTRACTVALUE(Value(p), 'activites/nbsession/text()') As nbsession,
EXTRACTVALUE(Value(p), 'activites/nom/text()') As nom,
EXTRACTVALUE(Value(p), 'activites/objectifSpecifique/text()') As objectifSpecifique,
EXTRACTVALUE(Value(p), 'activites/participation/text()') As participation,
EXTRACTVALUE(Value(p), 'activites/publicConcerne/text()') As publicConcerne,
EXTRACTVALUE(Value(p), 'activites/thematique/text()') As thematique,
EXTRACTVALUE(Value(p), 'activites/typeActivite/text()') As typeActivite,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[1]') As zoneGeographiques1,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[2]') As zoneGeographiques2,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[3]') As zoneGeographiques3,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[4]') As zoneGeographiques4,
EXTRACTVALUE(Value(p), 'activites/zoneGeographiques[5]') As zoneGeographiques5
FROM
artpiece x,
TABLE(XMLSEQUENCE(
EXTRACT(XMLTYPE(blob2clob(x.blob_piece)),'/instructionAC/activites')
))p
where rf_pieg = 'PIEG0034') loop
insert into TestSipac(
categorieProjet,
coutParBeneficiaire,
etat,
IdActivite,
nbreDeBeneficiaires,
nbsession,
objectifSpecifique,
participation,
publicConcerne,
thematique,
typeActivite,
zoneGeographiques1,
zoneGeographiques2,
zoneGeographiques3,
zoneGeographiques4,
zoneGeographiques5)
values ( i.categorieProjet,
i.coutParBeneficiaire,
i.etat,
i.IdActivite,
i.nbreDeBeneficiaires,
i.nbsession,
i.objectifSpecifique,
i.participation,
i.publicConcerne,
i.thematique,
i.typeActivite,
i.zoneGeographiques1,
i.zoneGeographiques2,
i.zoneGeographiques3,
i.zoneGeographiques4,
i.zoneGeographiques5);
end loop;
end;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.