Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/02/2003, 09h10   #1
Membre éclairé
 
Inscription : novembre 2002
Messages : 533
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 533
Points : 359
Points : 359
Par défaut Calcul Matriciel en PL/SQL

Bonjour à tous,

je me tire les cheveux à mettre en place des procédures pl/sql de calcul matriciel. Je dois réussir à convertir des tables (n lignes, m colonnes) en matrice (n colonnes, m lignes) pour des calculs assez complexes.

J'ai tenté avec les tables pl/sql, mais j'ai vite abandonné. j'essaie avec le type VARRAY, mais au delà d'1 dimension, il m'insule

l'idéal serait pourtant pour moi de pouvoir manipuler 2 tableaux à 2 dimensions, le produit matriciel serait alors d'une grande simplicité !

pour résumé : selon votre expérience, quelle est la meilleure solution à aborder pour ce genre de problèmatique?

nota : environnement de développement actuel : ORACLE 9i personnal (dernière release)

merci d'avance pour votre aide
bonne journée
__________________
PpPool
PpPool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2003, 18h06   #2
Rédacteur

 
Inscription : septembre 2002
Messages : 1 591
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : septembre 2002
Messages : 1 591
Points : 3 108
Points : 3 108
Par défaut Re: Calcul Matriciel en PL/SQL

Citation:
Envoyé par PpPool
Bonjour à tous,


l'idéal serait pourtant pour moi de pouvoir manipuler 2 tableaux à 2 dimensions, le produit matriciel serait alors d'une grande simplicité !
Tu n'as qu'à faire des tables de tables.
stephane eyskens est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2003, 09h27   #3
Membre éclairé
 
Inscription : novembre 2002
Messages : 533
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 533
Points : 359
Points : 359
Par défaut [resolu] : enfin pb contourné

Bien le bonjour à toi stephaneey,
tout d'abord merci beaucoup de ta réponse.

J'ai trouvé une solution un peu batarde certes, mais qui consiste à balancer toutes mes données dans une seule table pl/sql. Ensuite, j'ai recours à un hachage de celles-ci avec identification de mes blocs de lignes et de colonnes.
Il ne me reste ensuite plus qu'à paramétrer les combinaisons de calculs que je souhaite effectuer et op là, j'arrive aux résultats.

C'est pas très glorieux, mais c'est la réponse à mon probléme.
Bonne journée à toi.
__________________
PpPool
PpPool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2004, 22h24   #4
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Voici un exemple de tableau à 2 dimentions (Oracle 9i)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
declare
  TYPE TYP_TAB IS TABLE of varchar2(100) INDEX BY binary_integer ;
  TYPE TYP_TAB_TAB IS TABLE of TYP_TAB INDEX BY binary_integer ;
  tab TYP_TAB_TAB ;
  i pls_integer := 1;
  j pls_integer := 1;
Begin
  FOR i IN 1..10 loop
    FOR j IN 1..10 loop 
      tab(i)(j) := to_char(i) || '-' || to_char(j) ;
	end loop ;
  end loop ;
  FOR i IN 1..10 loop
--    for j in 1..10 loop 
      dbms_output.put_line(tab(i)(2));
--	end loop ;
  end loop ;
End
dans l'exemple, il s'agit d'un tableau de chaînes, mais vous pourvez utiliser d'autres types?
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2004, 10h11   #5
Membre éclairé
 
Inscription : novembre 2002
Messages : 533
Détails du profil
Informations forums :
Inscription : novembre 2002
Messages : 533
Points : 359
Points : 359
Merci bcq de ta réponse

Bonne journée
__________________
PpPool
PpPool est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h22.


 
 
 
 
Partenaires

Hébergement Web