|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 70 ![]() |
Bonjour et bonne année
J'ai réalisé des requêtes objets avec PostgresSQL et je me demande si c'est possible de faire la même chose avec Oracle. J'ai une table d'employés emp dont voici la structure : Code sql :
J'ai une table de médecins med qui hérite de la table emp. Voici la structure : Code sql :
CREATE TABLE med (level level) INHERITS (emp); Code sql :
CREATE TYPE level AS ENUM ('intern','doctor','specialist'); Maintenant voici mes deux questions : - comment créer le type level en Oracle ? Je précise qu'une requête de type select * from med where level>'intern' doit me retourner les médecins dont le niveau est doctor ou specialist - comment faire l'héritage entre les tables employés et médecins ? Est-ce considéré comme des tables ? Des objets ? Merci d'avance pour votre aide, Romain |
||
|
|
00
|
|
|
#2 | ||
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 70 ![]() |
Re bonjour,
Voici ce que j'ai fait dans Oracle : Code sql :
Ma table emplevel est bien créée mais je ne pense pas que ce soit la solution à mon problème. Cependant j'ai vu sur d'autres forums que c'était une manière de créer le type énuméré avec Oracle. Mon type emp est bien créé pas de problème. Par contre mon type med est créé avec des erreurs. Apparemment Oracle n'aime pas le "under" et mon type "emplevel". Encore merci par avance, Romain |
||
|
|
00
|
|
|
#3 | |||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : novembre 2009 Messages : 40 ![]() |
Citation:
Là j'ai vraiment pas trop compris ce que tu voulais faire, tu as l'aire bien confondu les types d'oracle et les tables, y a bien une différence entre oracle et postgres !! Apparemment tu veux faire héritage avec Oracle Objet, alors après ce que j'ai compris tu veux faire un multiple héritage d'employe, medecin et différent type de medecin. Alors, sous Oracle tu crée ta table en suite tu crées ta table, si tu veux la code ca serait à peu près un truc comme: Code :
Là on crée une seule table pour tous types d'héritage. Si tu veux insérer maintenant un médecin docteur, tu dois préciser son type: insert into emp_table values( medecinDocteur( 'empno',) ); voila, arpès c'est un peu plus compliquer car tu vas te amuser avec des ref, treat, is of ... bon courage |
|||
|
|
10
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 70 ![]() |
Bonjour,
Merci pour le code jamboo, c'est beaucoup plus clair maintenant. Je m'aperçois maintenant que PostgreSQL et Oracle ont des approches bien différentes. Une dernière chose : est-ce possible de gérer ce genre de requêtes (possible avec PostgreSQL) : Code sql :
SELECT * FROM med WHERE level>'intern' Merci d'avance, Romain |
|
|
00
|
|
|
#5 | |||
|
Nouveau Membre du Club
![]() Développeur informatique Inscription : novembre 2009 Messages : 40 ![]() |
Citation:
Code :
Ca peu paraitre un peu compliqué pour le début c'est normal. Tiens y a des cours d'Oracle Objet ca peut t'aider ,) http://ufrsciencestech.u-bourgogne.f...Multimedia/CM/ |
|||
|
|
10
|
|
|
#6 | |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 70 ![]() |
Citation:
Ce qui confirme ce que je disais : pour faire la même chose, on utilise des notions (et syntaxes) différentes entre Oracle, PostgreSQL et sans doutes les autres SGBD. Et merci pour les cours, je m'en sers déjà .Résolu ! Bonne soirée, merci encore, Romain |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com