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 :

Créer une table en PL/SPL


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Points : 72
    Points
    72
    Par défaut Créer une table en PL/SPL
    Bonjour
    Je voudrai créer une table dans mon script pl/sql et j'ai tjrs des erreurs
    ci dessous le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
       EXECUTE IMMEDIATE   create table  BONUS_PROGRAMME      as     
                  (   select   *  from 
                      (    select  (select (sysdate-7) from dual )  as the_date,  TXNLPATTERNA AS MOBILE,     sum(cost) as MONTANT, SUM(BILLED_DURATION) AS DUREE   from tmp_revenu_week 
                           where CALLBNUMBER in ('derede', 'dddee' ,'Cfer' ,'dddddd', 'derE' ,'ffff' , 'fzzzzz', 'zzzzz' ,'dere','sdsdsd' ,'Sdse') and bltpid='1' and PRDTID in (6,10,14) group by   TXNLPATTERNA
                      )  
                          where MONTANT >4000 and MONTANT < 20001 AND ROWNUM < 11001 
                  )   ;
    je sais compter sur vous tous
    Ecouter, observer avant de parler c'est être responsable

  2. #2
    Expert éminent sénior 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
    Points : 11 252
    Points
    11 252
    Par défaut
    Execute immediate
    C'est une mauvaise idée de créer des tables en PL/SQL.

  3. #3
    Membre régulier Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Points : 72
    Points
    72
    Par défaut
    Je vois bien le mal mais je voudrai corriger ces erreurs
    est ce que qlqun peut m'aider
    Ecouter, observer avant de parler c'est être responsable

  4. #4
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Bonjour,

    Le execute immediate fonctionne en PlSql. Essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    BEGIN
     EXECUTE IMMEDIATE 
                  'CREATE TABLE  BONUS_PROGRAMME      AS
                      (SELECT   *  FROM
                             (SELECT  (SELECT (sysdate-7) FROM dual )  AS the_date,  TXNLPATTERNA AS MOBILE,     sum(cost) AS MONTANT, SUM(BILLED_DURATION) AS DUREE   FROM tmp_revenu_week
                              WHERE CALLBNUMBER IN (''derede'', ''dddee'' ,''Cfer'' ,''dddddd'', ''derE'' ,''ffff'' , ''fzzzzz'', ''zzzzz'' ,''dere'',''sdsdsd'' ,''Sdse'') AND bltpid=''1'' AND PRDTID IN (6,10,14)
                              GROUP BY   TXNLPATTERNA )
                       WHERE MONTANT >4000 AND MONTANT < 20001 AND ROWNUM < 11001 )   ;';
    END;
    /

  5. #5
    Membre averti Avatar de LBO72
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Points : 342
    Points
    342
    Par défaut
    Essaye plutôt cela : Il faut supprimer le ; du execute immediate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    BEGIN
     EXECUTE IMMEDIATE 
                  'CREATE TABLE  BONUS_PROGRAMME      AS
                      (SELECT   *  FROM
                             (SELECT  (SELECT (sysdate-7) FROM dual )  AS the_date,  TXNLPATTERNA AS MOBILE,     sum(cost) AS MONTANT, SUM(BILLED_DURATION) AS DUREE   FROM tmp_revenu_week
                              WHERE CALLBNUMBER IN (''derede'', ''dddee'' ,''Cfer'' ,''dddddd'', ''derE'' ,''ffff'' , ''fzzzzz'', ''zzzzz'' ,''dere'',''sdsdsd'' ,''Sdse'') AND bltpid=''1'' AND PRDTID IN (6,10,14)
                              GROUP BY   TXNLPATTERNA )
                       WHERE MONTANT >4000 AND MONTANT < 20001 AND ROWNUM < 11001 )   ';
    END;
    /
    Cdlt,

    LBO72

  6. #6
    Membre régulier Avatar de bsidy1
    Profil pro
    INFORMATICIEN
    Inscrit en
    Décembre 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : INFORMATICIEN

    Informations forums :
    Inscription : Décembre 2006
    Messages : 127
    Points : 72
    Points
    72
    Par défaut
    bonjour a tout le monde

    j'ai opté pour le truncate
    merci infiniment
    Ecouter, observer avant de parler c'est être responsable

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

Discussions similaires

  1. Créer une table à partir d'une autre dans un script
    Par Dam)rpgheaven dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/06/2005, 11h55
  2. créer une table de folder
    Par bibifinal dans le forum MFC
    Réponses: 2
    Dernier message: 25/02/2005, 15h24
  3. Créer une table en VBA ?
    Par nicburger dans le forum Access
    Réponses: 11
    Dernier message: 16/02/2005, 16h15
  4. Réponses: 17
    Dernier message: 03/12/2004, 15h33
  5. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 21h21

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