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

Langage SQL Discussion :

Vue créée mais n'existe pas


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2012
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Vue créée mais n'existe pas
    Bonjour à tous,

    J'ai un petit souci pour créer une vue SQL qui doit s'afficher à partir deux tableaux. Elle a été créée mais lorsque je fais la sélection sur cette vue, une erreur s'affiche : " la vue ou la table n'existe pas".
    Voilà ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Create view vue1 as select v.nom, s.location from voiture v, structure s where numero=null;
    Je suis sous Oracle en fait. Une idée quelqu'un ?
    merci

  2. #2
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    Si tu ne peux faire de requête dessus, c'est qu'il y a de forte chance qu'elle ne soit pas créée.
    As-tu bien vérifié que ta vue apparait dans tes vues sur SQL developer ou autre ?
    Ta colonne numéro ne serait-elle pas présente dans les 2 tables ?
    De plus, avec tu n'auras sans doute aucun résultat, c'est Cordialement.

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Pourquoi dites-vous qu'elle n'est pas créée ?
    Avez-vous une erreur quand vous l'utilisez dans une requête ?

    Je pense qu'elle est bien créée, par contre, logiquement, elle ne contient aucune ligne, puisque vous avez dans sa définition une condition qui n'est jamais vraie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    where numero=null;

  4. #4
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Il faudrait vérifier avec quel utilisateur vous avez créé la vue, sur quel schéma, et si par hasard l'utilisateur qui essaye d'utiliser la vue en question n'a pas de droit dessus (ou alors la vue n'est pas créée au bon endroit).

    Sinon, il peut aussi y avoir eu une erreur lors de la création de la vue ... Ou bien quelqu'un l'a droppée depuis.

  5. #5
    Membre régulier
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 19
    Points : 108
    Points
    108
    Par défaut
    L'instruction de création de vue est correcte, enfin sa syntaxe.
    La requête SQL effectue un produit cartésien et le "= NULL" ne retournera rien.

    En revanche, lorsque vous dites, la vue n'est pas créée : vous avez un message Oracle vous disant que l'objet n'existe pas ?

    Si c'est le cas, vérifier, comme cela a été dit précédemment l'utilisateur propriétaire et les droits d'accès.

  6. #6
    Membre averti
    Avatar de diablo-dz
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 75
    Points : 327
    Points
    327
    Par défaut
    Bonsoir à vous,
    Je n'ai jamais utilisé Oracle, mais je crois que pour créer une vue avec deux tables, il faut d'abord faire la jointure avec ces deux tables.
    Pour moi, avec SQLServer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE VIEW vue1 AS
     SELECT v.nom, s.location
     FROM voiture v, structure s 
    WHERE v.numero=s.numero;
    Une des deux tables contient une clé étrangère qui doit permettre de merger de l'une à l'autre ?
    J'attends les avis des autres...
    J'espère qu'elle va marcher avec toi.
    Si une réponse vous a permis d'avancer , n'oublie pas de mettre
    Ne pas oublier

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par diablo-dz Voir le message
    Bonsoir à vous,
    Je n'ai jamais utilisé Oracle, mais je crois que pour créer une vue avec deux tables, il faut d'abord faire la jointure avec ces deux tables.
    Pour moi, avec SQLServer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE VIEW vue1 AS
     SELECT v.nom, s.location
     FROM voiture v, structure s 
    WHERE v.numero=s.numero;
    Une des deux tables contient une clé étrangère qui doit permettre de merger de l'une à l'autre ?
    J'attends les avis des autres...
    J'espère qu'elle va marcher avec toi.
    Quelle horreur !!! ça fait quand même depuis 1992 que les jointures se font dans la clause JOIN et le prédicat ON et non par produit cartésien dans le FROM et restriction sur le WHERE ! Révisez vos cours ou changez de prof !!!!!

    A lire : http://sqlpro.developpez.com/cours/s...ointures/#LIII

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Membre averti
    Avatar de diablo-dz
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 75
    Points : 327
    Points
    327
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Quelle horreur !!! ça fait quand même depuis 1992 que les jointures se font dans la clause JOIN et le prédicat ON et non par produit cartésien dans le FROM et restriction sur le WHERE ! Révisez vos cours ou changez de prof !!!!!

    A lire : http://sqlpro.developpez.com/cours/s...ointures/#LIII

    A +
    Bonsoir a vous
    merci de m'inquiète pour moi.
    en sais que les jointures se font dans la clause JOIN
    le problème si elle marche je vais être d'accord avec toi mais la non
    Si une réponse vous a permis d'avancer , n'oublie pas de mettre
    Ne pas oublier

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/09/2008, 11h06
  2. Réponses: 4
    Dernier message: 03/03/2008, 16h31
  3. Un port existe deja mais il n'existe pas
    Par pierrot10 dans le forum Windows XP
    Réponses: 2
    Dernier message: 06/07/2007, 15h03
  4. Fiche créée mais pas reconnue par l'application ??
    Par Leesox dans le forum Langage
    Réponses: 8
    Dernier message: 30/10/2005, 15h10

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