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

PL/SQL Oracle Discussion :

Mélange static et dynamic SQL


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2017
    Messages : 27
    Par défaut Mélange static et dynamic SQL
    Bonjour,
    j'ai créé une procédure dans laquelle je voudrais créer et modifier une table, j'utilise donc du "dynamic sql" par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     execute immediate 'CREATE TABLE table_test (MOT VARCHAR(16))';
    puis je voudrais la modifier par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO table_test VALUES ('Vol');
    qu'apparemment il n'aime pas alors que si j'utilise 'execute immediate' cela passe, il n'est donc pas possible de mélanger static et dynamic sql dans une procédure stockée ?

  2. #2
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    peux tu poster le message d'erreur qui s'affiche?

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2017
    Messages : 27
    Par défaut
    Error report:
    ORA-06550: line 1, column 7:
    PLS-00905: object AIRVISION.TESTT is invalid
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    06550. 00000 - "line %s, column %s:\n%s"
    *Cause: Usually a PL/SQL compilation error.
    *Action:

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    Si la table est créée dynamiquement, il faut aussi insérer dynamiquement.
    Mais la vrai question est pourquoi vouloir créer la table dynamiquement ? C'est très probablement une mauvaise idée.

  5. #5
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2017
    Messages : 27
    Par défaut
    Citation Envoyé par skuatamad Voir le message
    Si la table est créée dynamiquement, il faut aussi insérer dynamiquement.
    Mais la vrai question est pourquoi vouloir créer la table dynamiquement ? C'est très probablement une mauvaise idée.
    C'est parce qu'apparemment un simple 'CREATE TABLE' ne marche pas dans une procédure stockée. IL y a un autre moyen de créer une table dans une procédure stockée ?

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 952
    Par défaut
    Dans une procédure stockée, il faut passer par EXECUTE IMMEDIATE, ma remarque concernait plutôt l'idée de créer une table dans une procédure stockée...
    C'est très souvent à la fois inutile et une mauvaise idée.

  7. #7
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Je vais nuancer un peu la question posé par skuatamad :"Pourquoi voulez-vous créer une table dans une procédure stockée ?". Cela vaut également dire: "pourquoi vous ne créez pas tout simplement vos tables via un script sql ou autre procédure d'installation voir une procédure PL/SQL dédié" avant de créer les procédures stockées de manipulation de ces tables ?

Discussions similaires

  1. [PRO*C] ANSI Dynamic SQL - type objet
    Par maxtin dans le forum Interfaces de programmation
    Réponses: 3
    Dernier message: 11/04/2008, 16h19
  2. requete dynamic sql
    Par sunwind dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/08/2007, 17h03
  3. [Firebird 1.5] Dynamic SQL error (-303)
    Par crade dans le forum SQL
    Réponses: 1
    Dernier message: 15/06/2007, 21h32
  4. [visual studio 6] De Static Library à Dynamic Library
    Par mambo dans le forum Visual C++
    Réponses: 2
    Dernier message: 30/05/2007, 15h33
  5. [FireBird] Dynamic SQL Error
    Par aityahia dans le forum SQL
    Réponses: 1
    Dernier message: 28/05/2007, 10h12

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