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 :

problème sur longueur argument d entrée script sql


Sujet :

Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 53
    Points : 48
    Points
    48
    Par défaut problème sur longueur argument d entrée script sql
    Bonjour,

    J'ai un script sql qui reçoit en entrée une donnée. Mais cette donnée est trop grande en longueur : j'ai l'erreur ORA-00972 : identifier is too long.


    -- Recupération des paramètres
    DEFINE LISTECOLONNE = &1
    DEFINE SCHEMAENTREE = &2
    DEFINE NOMTABLE = &3

    -- definition des variables
    DEFINE OS_ERROR = 15
    DEFINE SQL_ERROR = 16

    WHENEVER SQLERROR EXIT SQL_ERROR
    WHENEVER OSERROR EXIT OS_ERROR

    -- Instruction SQL a proprement parle

    -- Suppression des occurrences des tables miroir
    SELECT &LISTECOLONNE FROM &SCHEMAENTREE..&NOMTABLE;


    EXIT SUCCESS
    C'est la liste des colonnes qui est trop long. Est ce qu'il y a possibilité d'utilser une variable sql qui accepte un nombre très important de caractères ? Je ne sais pas à l'avance le nombre de colonnes ni la longueur du nom des colonnes sachant que je n'utilise pas toute les colonnes.

    Merci de votre réponse.

  2. #2
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 674
    Points
    674
    Par défaut
    Etant donne le numero de l'erreur, je pense que l'erreur serait plutot du, dans la liste, a un nom de colonne superieur a 30 caracteres.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 53
    Points : 48
    Points
    48
    Par défaut
    Ok Merci pour ta réponse.

    Effectivement j'oubliais de mettre les virgules entre chaque nom de variables du coup le scipt sql interprétait les différents noms de variable comme étant qu'un seul nom de variable.

    Sinon pour information : Est ce que tu sais quel est le nombre maximal de caractères que peut contenir une varibale sql définie comme suit :

    -- Recupération des paramètres
    DEFINE SCHEMA = &1
    Et quel est le moyen d'agrandir ce nombre ?

    Merci d'avance.

  4. #4
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 674
    Points
    674
    Par défaut
    Si "schema" est un nom d'utilisateur, il devra etre limite a 30 caracteres, comme tout nom d'object SQL.
    S'il s'agit de connaitre la valeur max d'un variable de substitution, elle est de 240 caracteres.

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

Discussions similaires

  1. Problème de génération de MLD via script SQL
    Par Caliimero dans le forum PowerAMC
    Réponses: 1
    Dernier message: 22/09/2012, 21h05
  2. Réponses: 1
    Dernier message: 17/09/2011, 08h42
  3. Réponses: 10
    Dernier message: 18/05/2011, 14h56
  4. Faire passer un argument dans un script sql
    Par Dodo86 dans le forum Pentaho
    Réponses: 3
    Dernier message: 31/03/2010, 14h20
  5. Réponses: 3
    Dernier message: 08/08/2006, 02h50

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