Bonjour à tous,

Dans le cadre d'un projet je travaille en relationnel Object et je dois insérer des données dans une table objet comportant une colonne XML...

Voici la déclaration de ma table:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TYPE TPrice AS OBJECT (
	IdPrice		NUMBER,
	Infos	 	sys.XMLTYPE
);
/
 
CREATE TABLE OPrice OF TPrice;
 
ALTER TABLE OPrice
ADD CONSTRAINT OPrice_pkey PRIMARY KEY(IdPrice);
 
CREATE INDEX Price_idx ON OPrice(Infos) INDEXTYPE IS ctxsys.context
PARAMETERS('FILTER ctxsys.null_filter SECTION GROUP ctxsys.path_section_group');
Et voici le code pour insérer des données que j'essaie d'exécuter en vain:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
BEGIN 
	INSERT INTO TPRICE(IdPrice,Infos) 
	VALUES (1, sys.XMLType.createXML('<?xml version="1.0"?> 
									<product>
										<idProduit>1</idProduit>
										<idTheme>0</idTheme>
										<prix>100</prix>
										<pourcentage>0</pourcentage>
									</product>'));
END;
/
J'obtiens l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
PL/SQL: ORA-04044: procedure, function, package, or type is not allowed here
Je précise que je travail sous SQLPLUS*. Je comprend bien que mon code ne peux pas être exécuté à cet endroit...j'ai donc essayer de retirer mon bloc BEGIN...END mais j'arrive au même résultat.

Merci d'avance de votre aide .