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 :

Problème avec déclaration VARRAY


Sujet :

PL/SQL Oracle

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 102
    Par défaut Problème avec déclaration VARRAY
    BONJOUR?

    Comment declarer un tableau dans un block pl/sql/
    J,ai fait cette declaration sa passe mais ne veut pas accepter de valeur :
    Voila exemple /

    type tab1 is varray(12) of number;
    type tab2 is varray(12) of char;
    tab_cash tab1;
    tab_used tab2;

    MAIS NE VEUT PAS ACCEPTER CETTE AFFECTATION/

    tab_cash51:=50; par exemple

    veuilez m?aider je suis bloqu!:

    merci

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Bonjour

    Merci de penser à préciser systématiquement votre version d'Oracle et les messages d'erreur reçus.

    Les tableaux de type VARRAY ont initialement une taille nulle : ils ont 0 cellule.
    L'initialisation du tableau, effectuée par l'appel du constructeur, a pour effet en une seule commande d'allouer un certain nombre de cellules, par exemple 3, et de leur donner une valeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab_cash tab1:=tab1(8, 47, 21);
    Mais vous ne pouvez pas attribuer une valeur à une cellule qui n'a pas encore été allouée. Pour ça, il faut d'abord utiliser la méthode EXTEND, qui permet d'allouer une (ou plusieurs) cellule vide, puis ensuite faire l'affectation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tab_cash.extend;
    tab_cash(4):=51;
    Voir EXTEND dans le document suivant : http://sheikyerbouti.developpez.com/pl_sql/?page=Chap5

Discussions similaires

  1. Problème de déclaration avec Quartz
    Par yaya0057 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 28/09/2009, 09h50
  2. Réponses: 2
    Dernier message: 15/11/2007, 15h15
  3. Un problème avec la déclaration d'un vecteur
    Par Paulinho dans le forum C++
    Réponses: 4
    Dernier message: 05/11/2005, 17h19
  4. Réponses: 11
    Dernier message: 29/04/2005, 19h45
  5. Problème de déclaration de segment avec use32
    Par le mage tophinus dans le forum Assembleur
    Réponses: 2
    Dernier message: 10/01/2003, 10h17

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