begin process at 2012 05 26 23:01:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Requêtes

 > 

[Oracle][PL/SQL] Problème de référence


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Oracle][PL/SQL] Problème de référence

lundi 25 avril 2011 à 15:03:10 | [Oracle][PL/SQL] Problème de référence

Sharkiller

Membre Club
Bonjour, et bonnes fêtes de Pâques.

Je travaille sur une base de données relationnelle-objet, et je veux mettre à jour une référence sur un type dans une table.

Je pensais que ce que je faisais marcherait, mais j'ai deux erreurs différentes, en fonction de la méthode que j'utilise, que je ne comprends pas.

Explications par l'exemple :
Contexte général :
Il s'agit de lister des œuvres et de les faire correspondre avec des auteurs et des coauteurs.

Requête 1 :
Code :
UPDATE Les_Arts_congres
SET coauteurs = type_ref_ens_auteur(type_ref_auteur(REF(type_auteur(6, 'nouveau_nom', 'nouveau_prenom', 'nouveau_laboratoire', 'nouvelle_adresse'))))
WHERE ID_doc_scientifique = 4;


Requête 2 :
Code :
DECLARE
	nouveau_coauteur type_auteur := type_auteur(6, 'nouveau_nom', 'nouveau_prenom', 'nouveau_laboratoire', 'nouvelle_adresse');
BEGIN
	UPDATE Les_Arts_congres
	SET coauteurs = type_ref_ens_auteur(type_ref_auteur(REF(nouveau_coauteur)))
	WHERE ID_doc_scientifique = 4;
END;


Définition des types utilisés :
Auteur
Code :
CREATE OR REPLACE TYPE type_auteur AS OBJECT
(id_auteur NUMBER(5),
 nom VARCHAR2(20),
 prenom VARCHAR2(30),
 laboratoire VARCHAR2(30),
 adresse VARCHAR(100));


Référence sur un auteur
Code :
CREATE OR REPLACE TYPE type_ref_auteur AS OBJECT
(ref_auteur REF type_auteur);


Ensemble de références sur un auteur
Code :
CREATE OR REPLACE TYPE type_ref_ens_auteur AS TABLE OF type_ref_auteur;


Description de la table Les_Arts_congres
Code :
ID_DOC_SCIENTIFIQUE NUMBER(10)
TITRE VARCHAR2(100)
AUTEUR_PRINCIPAL TYPE_REF_AUTEUR
DATE_PUBLICATION DATE
MOT_CLEFS TYPE_ENS_MOT_CLEF
COAUTEURS TYPE_REF_ENS_AUTEUR
VILLE VARCHAR2(30)
PAYS VARCHAR2(30)


Les deux requêtes sont normalement équivalentes.

Pour la requête 1, j'ai l'erreur ORA-00907, qui me dit "parenthèse droite manquante", alors que ça n'est pas le cas.
Pour la requête 2, j'ai l'erreur ORA-00932, qui m'indique "nouveau_coauteur" (au niveau de la requête) en me disant qu'il attend un type "type_auteur", et qu'il obtient une référence sur un type "type_auteur" (alors que la référence ne se fait qu'à partir du REF, pas avant).

Je remercie par avance celui qui saura m'aider et me dire ce qui ne va pas.
Depuis hier, Oracle me fait des erreurs bizarres.


Cette discussion est classée dans : code, type, référence, ref, auteur


Répondre à ce message

Sujets en rapport avec ce message

probleme de requete imbriqué (aidez moi svp) [ par oxram ] Bonjour voici ma requete ce qui ne passe pas semble etre le exept mais je vois pas pourquoi :SELECT CODE_LOC_MOBILE_HOME,  LIB_TYPE_MH ,NBRE_PLACES , comportement de l'attribut REF dans une BD objet-relationnelle (sql) [ par Mymy1984 ] salut tout le monde :Ma question est:Est ce que  c vrai que  l'attribut de type REF permet d'avoir plusieurs références vers des objets différents de select et cast ... [ par cudenetf ] Bonjour, j'ai une question sur des requetes select avec des casts.Je cherche a trouver le plus grand entier N dans une table tel que N>x1 et Nle probl Concatener dans une requete sql [ par gabrenicolas ] Bonjour à tous , Petit problème, pour une fois la requête fonctionne nickel cependant j'ai un problème avec ma concatenation.. Il y aurait-il un pr Missing operators [ par gabrenicolas ] Bonjour à tous, Je crois que j'ai besoin d'un petit peu d'aide... le code: [code=vb]sqlQuery = "SELECT Count(*) AS CountOfTYPE " & _ "FROM (USERS I recuperer et afficher un prix [ par laloire33150 ] Bonjour, j'ai un problème que je n'arrive pas à régler, je suis débutant J'ai créé une bdd avec des produits et les prix et refs Depuis ma page je r Requête langage SQL [ par jessssss49 ] bonjour, je suis en formation et on apprend le langage SQL sur base de données. enfin comme j'étais pas là aux 1er cours j'ai pas appris à le faire provléme de recursivité [ par zwiki ] bonjour tout le monde j'ai un message d'erreur qui s'affiche avec cette requette "Syntaxe incorrecte vers le mot clé 'WITH'" malgré que j'ai bien suiv help [ par khoukha12 ] slt J'ai un problème je l'espère vous m'aider . Mon problème dans SQL SEVER 2005 il n'accepte pas le mot clé "AS" : [code=autre]create type type_Coo requête sur date [ par tif27940 ] Bonjour voila j'ai une table contact avec un champ dte_inactif qui soit contient une date soit est vide et je souhaite afficher les contacts qui on un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,947 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales