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 :

Créer une vue avec du SQl dynamique


Sujet :

Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Par défaut Créer une vue avec du SQl dynamique
    Bonjour,
    Je dois rédiger une procedure avec du sql dynamique qui génére une vue avec un SELECT où les paramtres de la clause WHERE sont précisés au moment de l'éxécution et je suis complétement bloquée est ce que quelqu'un pourrait m'aider.THANKS

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    "... au moment de l'exécution..."
    de l'exécution de la création de la vue ou de l'ordre SELECT sur cette vue ?

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Par défaut
    De la création de la vue

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Et bien il faut constituer l'ordre de création dans une chaine de caractères et utiliser ensuite l'instruction execute immediate (qui ne fonctionne que coté serveur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Declare
      sql_order  Varchar2(4000) ;
    Begin
      sql_order := 'CREATE OR REPLACE VIEW ...' ;
      sql_order := sql_order || ' where ...' ;
      execute immediate sql_order ;
    End ;

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    à mon avis c'est plutôt une fonction qui retourne un REF_CURSOR qui serait adapté

  6. #6
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Par défaut
    J'ai essaye de faire ceci et ca marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE PROCEDURE COMMISSION_PAYS (i_PAYS IN VARCHAR2)
    AS
    STMT_STR VARCHAR2(2000); 
    WHERE_CLAUSE VARCHAR2(200); 
    BEGIN
    STMT_STR :='SELECT * FROM COMMISSION';
    WHERE_CLAUSE :=' WHERE CODEPAYS =:1';
     IF i_PAYS = NULL THEN 
      WHERE_CLAUSE = NULL; 
     END IF;
    EXECUTE IMMEDIATE (STMT_STR ||WHERE_CLAUSE)
             USING i_PAYS;
    END;
    Mais quand je transforme STMT_STR en STMT_STR := 'CREATE VIEW COMMISSION_PAYS AS SELECT * FROM COMMISSION'
    ça ne marche plus. est ce que quelqu'un pourrait m'aider.
    thanks.

Discussions similaires

  1. Créer une vue avec un champ Blob
    Par Taoueret dans le forum SQL
    Réponses: 4
    Dernier message: 16/05/2008, 16h18
  2. Créer une vue avec une image au format postscript *.eps
    Par pobsteta dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 22/11/2007, 15h12
  3. Impossible de créer une vue avec un champ spatial
    Par M Roncheau dans le forum SQL
    Réponses: 2
    Dernier message: 24/08/2007, 09h11
  4. Créer une vue avec des onglets
    Par Flackou dans le forum MFC
    Réponses: 2
    Dernier message: 14/06/2007, 11h43
  5. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 12h37

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