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

SQL Oracle Discussion :

Variables locales avec TYPE


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 38
    Par défaut Variables locales avec TYPE
    Oracle 9i enterprise Edition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Create ou Replace procedure MaProcedure(nombre IN NUMBER) IS
    v    monSchema.maTable.maColonne%TYPE;
    BEGIN
       Null;
    END;
    /

    J'ai une erreur : le composant v doit être déclaré.
    Si j'enlève le nom du schema ça fonctionne bien.
    Comment s'assurer que c'est bien la table "maTable" du schema "monSchema" ?
    le User est propriétaire de "monSchema" et à le rôle "DBA".
    Des fois,il n'y a pas d'erreur.

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2003
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 107
    Par défaut
    Créer un synonyme public pour la table
    Comme ca tu l’appelle sans faire référence au schéma.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE PUBLIC SYNONYM T1 for shema.T1

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 38
    Par défaut
    Citation Envoyé par lsaid
    Créer un synonyme public pour la table
    Comme ca tu l’appelle sans faire référence au schéma.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE PUBLIC SYNONYM T1 for shema.T1
    C'est bon : ça contourne le problème.
    Ca ne m'explique pas pourquoi les variables typés %TYPE et %ROWTYPE ne sont pas acceptés.

    Merci.

  4. #4
    Membre éclairé

    Profil pro
    Coach Agile
    Inscrit en
    Décembre 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Coach Agile

    Informations forums :
    Inscription : Décembre 2005
    Messages : 316
    Par défaut
    Je ne te dirai pas pourquoi il n'accepte pas le nom du shéma, je n'en sais rien.
    En revanche, le fait que tu ai eu envie de spécifier le shéma à exploiter m'inspire que tu est susceptible de posséder plusieurs shéma sous lesquels vont exister de même tables.
    Dans un tel cas, l'exploitation d'un synonyme public ne me semble pas opportun.
    Si le user que tu exploites dans ton traitement travaille toujours sur le même shéma, tu peux utiliser un synonyme classique (attaché uniquement à ton utilisateur), soit tu peux jouer avec une instruction du type
    ALTER SESSION SET CURRENT_SHEMA=xxx

    Chris.

Discussions similaires

  1. [XL-2010] Affecter un tableau avec une variable créée avec Type
    Par paulselvan dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/01/2013, 12h07
  2. Forcer le Type d'une Variable Locale pour la Complétion de Code
    Par ShaiLeTroll dans le forum Zend Studio
    Réponses: 6
    Dernier message: 28/10/2010, 17h54
  3. Réponses: 9
    Dernier message: 27/12/2007, 09h41
  4. Réponses: 2
    Dernier message: 10/12/2006, 09h57
  5. Réponses: 9
    Dernier message: 22/07/2005, 16h10

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