[Oracle]Non Key preserved Table

Non Key preserved Table [Oracle] - SQL/NoSQL - Programmation

Marsh Posté le 04-03-2004 à 08:39:13    

Bonjour,
 
je voudrais créer une vue permettant de rajouter des informations à une table d'employés (les modifications ne peuvent pas être un rajout de colonnes car nous n'avons pas la maitrise de cette table suceptible de changer).
Pour cela j'ai créé une table supplémentaire "infos" contenant la même clé primaire que employés et les champs nécessaires "animal de compagnie", "photo".
 
Je crée ma vue en jointant (externe) sur la clé primaire dechacunes des tables.
 
J'obtiens donc dans cette vue, l'ensemble des employés et les "infos" si il y en a.
 
Le but est d'ajouter des infos au moyen de cette vue!
Mais cela ne fonctionne pas : "Non Key Preserverd Table" :/

Reply

Marsh Posté le 04-03-2004 à 08:39:13   

Reply

Marsh Posté le 04-03-2004 à 10:13:14    

Utilise la vue ALL_UPDATABLE_COLUMNS pour savoir si tu peux inserer ou updater tes colonnes.

Reply

Marsh Posté le 04-03-2004 à 11:01:25    

EN fait, je vais créer un trigger sur la première table pour avoir un enregistrement dans la deuxième. ;)
 
Mais autant ça marche bien sur l'insertion (mon trigger) autant ça merde à l'update et au delete.
 
Une idée? voici le code

Code :
  1. CREATE OR REPLACE TRIGGER ADMGRH.AUTOINSERT
  2. BEFORE INSERT
  3. ON ADMGRH.PERSONNEL
  4. FOR EACH ROW
  5. BEGIN
  6. if UPDATING then
  7. UPDATE infos
  8. SET code = :new.matricule;
  9. end if;
  10. if INSERTING then
  11. INSERT INTO infos
  12. VALUES( ''
  13. , ''
  14. , ''
  15. , :new.matricule);
  16. end if;
  17. if DELETING then
  18. DELETE FROM INFOS
  19. WHERE code = :old.matricule;
  20. end if;
  21. END;
  22. /

Reply

Marsh Posté le 04-03-2004 à 11:11:37    

Before insert, puis if updating, c'est bien AGA mais faut aller dormir là hein.
 
désolé :sweet:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed