IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Oracle Discussion :

Comment rendre 3 champs d'une requête en ID d'une vue?


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 65
    Points
    65
    Par défaut Comment rendre 3 champs d'une requête en ID d'une vue?
    Bonjour,

    J'aimerais savoir comment ajouter 3 id provenant d'une requete de manière à affecter ces 3 id comme étant l'id de la vue?

    J'ai une requête qui me retourne les champs que j'ai besoin à partir de différentes tables et j'aimerais attribuer à cette vue non pas un ID mais 3 champs qui représenterait l'ID de la vue.

    J'ai crée une requête pour ma vue ETAT_ACAV:

    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
     
    CREATE OR REPLACE VIEW ETAT_ACAV
    (ID_SUPPORT, VALEUR, LIBELLE_COURT, MONTANT_ACAV_A, MONTANT_ACAV_P, 
     MONTANT_ACAV_ATTENTE, ID_ACAV_ATTENTE, ID_FLUX)
    AS 
    SELECT AA.ID_SUPPORT ,
                        VALEUR ,
                        LIBELLE_COURT ,
                        AA.MONTANT_ACAV_A , 
                        MONTANT_ACAV_P ,
                        MONTANT_ACAV_ATTENTE , 
                        FA.ID_ACAV_ATTENTE , 
                        FA.ID_FLUX
                        FROM
                        VL ,
                        MIF_SUPPORT ,
                        ACAV_ACTIF AA ,
                        ACAV_PASSIF ,
                        ACAV_ATTENTE ,
                        FLUX_ACAV FA
    /
    Et je voudrais rendre "ID_SUPPORT", "ID_ACAV_ATTENTE" et "ID_FLUX" comme étant l'ID de la vue soir 3 champs en 3 ID de la vue.

    Si vous avez un exemple ou une idée.
    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    salut,

    voici la modif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       CREATE OR REPLACE VIEW ETAT_ACAV (
         ID_SUPPORT,
         VALEUR,
         LIBELLE_COURT,
         MONTANT_ACAV_A,
         MONTANT_ACAV_P,
         MONTANT_ACAV_ATTENTE,
         ID_ACAV_ATTENTE,
         ID_FLUX,
         CONSTRAINT ETAT_ACAV_PK PRIMARY KEY (ID_SUPPORT,ID_ACAV_ATTENTE,ID_FLUX) RELY DISABLE NOVALIDATE)
       AS ....
    ---
    Farid.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Farid_92 Voir le message
    salut,

    voici la modif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       CREATE OR REPLACE VIEW ETAT_ACAV (
         ID_SUPPORT,
         VALEUR,
         LIBELLE_COURT,
         MONTANT_ACAV_A,
         MONTANT_ACAV_P,
         MONTANT_ACAV_ATTENTE,
         ID_ACAV_ATTENTE,
         ID_FLUX,
         CONSTRAINT ETAT_ACAV_PK PRIMARY KEY (ID_SUPPORT,ID_ACAV_ATTENTE,ID_FLUX) RELY DISABLE NOVALIDATE)
       AS ....
    ---
    Farid.
    Merci du coup de main. je ne savais pas pour "RELY DISABLE NOVALIDATE" il m'affichait missing or invalid option
    Par contre lorsque j'essaie de créer la vue, il me dit mot clé select absent.
    étrange..
    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
     
       CREATE OR REPLACE VIEW ETAT_ACAV (
         CONSTRAINT ETAT_ACAV_PK PRIMARY KEY (ID_SUPPORT,ID_ACAV_ATTENTE,ID_FLUX) RELY DISABLE NOVALIDATE)
         AS
         SELECT         AA.ID_SUPPORT ,
                        VALEUR ,
                        LIBELLE_COURT ,
                        AA.MONTANT_ACAV_A , 
                        MONTANT_ACAV_P ,
                        MONTANT_ACAV_ATTENTE , 
                        FA.ID_ACAV_ATTENTE , 
                        FA.ID_FLUX
                        FROM
                        VL ,
                        MIF_SUPPORT ,
                        ACAV_ACTIF AA ,
                        ACAV_PASSIF ,
                        ACAV_ATTENTE ,
                        FLUX_ACAV_ATTENTE FA
     
         /

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Salut,
    Il te met quelle erreur exactement et a quel niveau ?
    Essayes sans le mot RELY.

    ---
    Farid.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 149
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Farid_92 Voir le message
    Salut,
    Il te met quelle erreur exactement et a quel niveau ?
    Essayes sans le mot RELY.

    ---
    Farid.
    Et bien par exemple, pour créer une vue :
    Je rentre ceci :
    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
    24
       CREATE OR REPLACE VIEW ETAT_ACAV_Pk_view (       
         ID_SUPPORT,
         ID_ACAV_ATTENTE,
         ID_FLUX          
         UNIQUE RELY DISABLE NOVALIDATE,
         CONSTRAINT Pk_ETAT_ACAV_view PRIMARY KEY (ID_SUPPORT,ID_ACAV_ATTENTE,ID_FLUX) RELY DISABLE NOVALIDATE)
         AS
         SELECT         AA.ID_SUPPORT ,
                        VALEUR ,
                        LIBELLE_COURT ,
                        AA.MONTANT_ACAV_A , 
                        MONTANT_ACAV_P ,
                        MONTANT_ACAV_ATTENTE , 
                        FA.ID_ACAV_ATTENTE , 
                        FA.ID_FLUX
                        FROM
                        VL ,
                        MIF_SUPPORT ,
                        ACAV_ACTIF AA ,
                        ACAV_PASSIF ,
                        ACAV_ATTENTE ,
                        FLUX_ACAV_ATTENTE FA
     
         /
    Et il me dit mot clé "select" absent lors que je veux créer la vue.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    La requete est surprenante.
    Seulement 3 colonnes declarees pour la vue , mais 8 retournes par le select.
    De plus tu as omis le where pour faire la jointure sur les differentes tables utilise ?

    ---
    Farid.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Problème à l'exécution d'une requête suppression basée sur une requête sélection
    Par Philippe1975 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 14/06/2013, 22h21
  2. Réponses: 9
    Dernier message: 19/12/2011, 17h11
  3. Réponses: 5
    Dernier message: 18/02/2009, 09h52
  4. Réponses: 1
    Dernier message: 13/02/2009, 10h13
  5. passer d'une requêtes SGL directe en une requête normale
    Par jenniferIUP dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 04/02/2009, 08h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo