Voilà, j'aimerai ajouter la contrainte d'unicité suivante :
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 CREATE OR REPLACE TYPE t_lgncom IS OBJECT (idmed CHAR(13), qte INTEGER); CREATE OR REPLACE TYPE col_t_lgncom IS TABLE OF t_lgncom; CREATE TABLE Commandes ( idcom CHAR(13) NOT NULL, idpharma CHAR(13), datecom DATE, lgnscom col_t_lgncom, remisecom NUMBER, CONSTRAINT pkCommandes PRIMARY KEY (idcom), CONSTRAINT fkCommandes FOREIGN KEY (idpharma) REFERENCES Pharmas(idpharma) ) NESTED TABLE lgnscom STORE AS table_lgnscom, TABLESPACE MEDIC STORAGE (INITIAL 200k NEXT 100k MAXEXTENTS 2);
dans une meme commande on ne doit pas pouvoir commander plusieurs fois le meme medicament (idmed).
j'ai donc essayé ceci sans illusion:
et comme de fait cela s'applique à toutes les commandes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ALTER TABLE table_lgnscom ADD CONSTRAINT unique_med UNIQUE(idmed);
Comment spécifier que je ne veux l'unicité que du couple (idmed,reference du parent) ?
je voudrais egalement savoir s'il est possible de faire un select directement sur la nested table pour afficher toutes les lignes (avec la ref du parent de chaque ligne.
Merci
PS: Merci bcq à SheikYerbouti pour son tuto sur le PL/SQL
Partager