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 :

probleme avec alter table et un default string


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 28
    Points
    28
    Par défaut probleme avec alter table et un default string
    bonjour ,
    J'ai une erreur executant ce code.

    EXECUTE IMMEDIATE ('ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULT' || 'N' || 'NOT NULL)');
    voici l'ereur :
    ORA-00907: missing right parenthesis.

    je ne vois pas le pb
    aidez-moi
    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Faites plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXECUTE IMMEDIATE ('ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULT ''N'' NOT NULL)');

  3. #3
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par noumian Voir le message
    bonjour ,
    J'ai une erreur executant ce code.
    EXECUTE IMMEDIATE ('ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULT' || 'N' || 'NOT NULL)');
    voici l'ereur :
    ORA-00907: missing right parenthesis.

    je ne vois pas le pb
    aidez-moi
    merci
    Faut apprendre à débugguer, surtout quand on utilise execute immediate.
    Suffit de faire un dbms_output de la chaine de caractère pour voir ce qui ne va pas du premier coup d'oeil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    declare
    v VARCHAR2(255);
    begin
    v := 'ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULT' || 'N' || 'NOT NULL)';
    DBMS_OUTPUT.PUT_LINE(v);
    execute immediate v; 
    END;
     
    Résultat
    ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULTNNOT NULL)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Jerome_Mtl Voir le message
    Faites plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXECUTE IMMEDIATE ('ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULT ''N'' NOT NULL)');
    Parfait!
    Merci!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par McM Voir le message
    Faut apprendre à débugguer, surtout quand on utilise execute immediate.
    Suffit de faire un dbms_output de la chaine de caractère pour voir ce qui ne va pas du premier coup d'oeil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    declare
    v VARCHAR2(255);
    begin
    v := 'ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULT' || 'N' || 'NOT NULL)';
    DBMS_OUTPUT.PUT_LINE(v);
    execute immediate v; 
    END;
     
    Résultat
    ALTER TABLE MAILS_TEMPLATES ADD (SEND_ITEM VARCHAR2(1) DEFAULTNNOT NULL)
    merci pour l'astuce

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

Discussions similaires

  1. Probleme requete ALTER TABLE
    Par syseval dans le forum Langage SQL
    Réponses: 4
    Dernier message: 07/04/2005, 12h49
  2. PROBLEME AVEC UNE TABLE INTERBASE
    Par barro dans le forum InterBase
    Réponses: 1
    Dernier message: 22/09/2004, 08h16
  3. Renommer une colonne avec ALTER TABLE...
    Par David.V dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2004, 10h33
  4. Probleme avec une table vide
    Par king dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/03/2004, 14h24
  5. probleme avec requete sql aime pas les strings
    Par lil_jam63 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/02/2004, 14h45

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