hello

J'ai un probleme pour mettre à jour une table imbriquée dans Oracle.
Voici comme sont construites les tables:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//le type salaire
CREATE TYPE TSalaire AS OBJECT
(
	mois NUMBER(2),
	montant NUMBER(6)
)
 
//le type liste de salaire
CREATE TYPE LTSalaire AS VARRAY(12) OF TSalaire ;
 
//le type employe
CREATE TYPE TEmploye AS[cpp] OBJECT
(
	id_emp NUMBER(5),
	nom_emp VARCHAR2(50),
	prenom_emp VARCHAR2(50),
	code_emp VARCHAR2(10),
	date_nais DATE,
	lieu_nais VARCHAR2(50),
	adresse VARCHAR2(255),
	num_tel NUMBER(20),
	salaire LTSalaire
)
Le but est de mettre a jour le salaire pour un mois donnée:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
UPDATE TABLE ( SELECT employe.salaire  FROM employe WHERE employe.id_emp = 2) TS SET montant = 2  WHERE mois = 5
L'erreur : ( l'étoile doit se trouver sous le 'm' de "SET montant" )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
UPDATE TABLE ( SELECT employe.salaire  FROM employe WHERE employe.id_emp = 22) TS SET montant = 1000
                                                                                      *
ERREUR à la ligne 1 :
ORA-25015: impossible d'effectuer un DML sur cette colonne de vue de table
imbriquée
[/code]