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 :

Tailles des dimensions d'un tableau [11g]


Sujet :

PL/SQL Oracle

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Par défaut Tailles des dimensions d'un tableau
    Bonjour

    J'ai un tableau à deux dimensions.

    A supposer que ce tableau soit renseigné, je souhaite connaître le nombre d'éléments de chacune des dimensions. La fonction COUNT ne me donne que la taille de la première dimension.

    Illustration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    DECLARE
     
    TYPE typ_n_matrix IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    TYPE matrix IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    v_matrice Matrix;
    v_num NUMBER;
     
    BEGIN
    FOR i in 1..4 LOOP
      FOR J in 1..6 LOOP
        v_matrice (i)(j) := i+j;
      END LOOP;
    END LOOP;
     
    v_num := v_matrice.COUNT;
    END;
    /
    v_num vaut 4. Je voudrais récupérer aussi le 6.

    Merci pour votre aide

    PS: la finalité est de faire le produit de deux matrices qui n'ont qu'une dimension en commun.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Par défaut
    J'ai trouvé une astuce mais s'il y a une fonction de base qui permet de le savoir, je préférerais

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

    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
    Billets dans le blog
    4
    Par défaut
    Tu as une erreur dans la définition de ton type Matrix.

    Sinon, le 6 dont tu parles n'est pas lié à l'ensemble mais à chaque élément principal du tableau. Il peut être différent pour chaque élément

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    DECLARE
    TYPE typ_n_matrix IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    TYPE matrix IS TABLE OF typ_n_matrix INDEX BY BINARY_INTEGER;
    v_matrice Matrix;
    v_num NUMBER;
    BEGIN
    FOR i IN 1..4 LOOP
      FOR J IN 1..TRUNC(dbms_random.value(1,6)) LOOP
        v_matrice(i)(j) := i+j;
      END LOOP;
    END LOOP;
    FOR i IN 1..4 
    LOOP
    	DBMS_OUTPUT.put_line(i||':'|| v_matrice(i).COUNT);
    END LOOP;
    END;
    /
    Résultat :

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 507
    Par défaut
    Bonjour McM

    Pour l'erreur, c'est une mauvais recopie

    Dans mon cas, je considère des matrices m*n "classiques", mathématiques, la seconde dimension est la même pour chaque élément selon la première. Donc v_matrice(i).COUNT me reverra la même chose quelque soit i.
    Ce qui m'étonne, c'est que je pensais avoir testé cette écriture...

    Bref, ça résout mon problème. Merci

    PS: je récupère les dimensions pour organiser les boucles pour mon produit matriciel, et pour vérifier que le produit est possible (n1=m2).

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

Discussions similaires

  1. [XL-2007] Détermination de la taille des éléments d'un tableau 2 dimensions
    Par polobabou dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/07/2016, 13h39
  2. Taille des colonnes dans un tableau
    Par Neuromancien2 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/08/2007, 11h34
  3. Définir en wordML la taille des colonnes d'un tableau
    Par apmic dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/06/2007, 15h52
  4. Fixer la taille des cellules dans un tableau HTML ?
    Par bilou95 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/03/2007, 16h10
  5. Taille des traits d'un tableau
    Par salseropom dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 22/09/2006, 16h17

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