Accueil > Forum > > > > fonction pl/sql retournant un tableau
fonction pl/sql retournant un tableau
mercredi 28 novembre 2007 à 11:24:49 |
fonction pl/sql retournant un tableau

mahni
|
bonjour, Je voudrais savoir comment écrire une fontion qui retourne un tableaux comme résultat en pl/sql. Je voulais tout simplement afficher à partir d'un environnement de développement un "select * from..." à partir d'une table existante. Merci
|
|
jeudi 18 septembre 2008 à 10:57:13 |
Re : fonction pl/sql retournant un tableau
|
jeudi 18 septembre 2008 à 11:02:11 |
Re : fonction pl/sql retournant un tableau
|
jeudi 18 septembre 2008 à 11:03:09 |
Re : fonction pl/sql retournant un tableau

pycatwork
|
Voila comment s y prendre
-----------------
Step 1 : creation d un type qui correspond a ce qu il faut renvoyer
-----------------
CREATE TYPE TRC_MEASURE AS OBJECT
(
PROGRAM VARCHAR2(255),
ACTION VARCHAR2(255),
ELLAPSED_TIME NUMBER(11)
)
;
-----------------
Step 2 : creation d un type qui correspond a une structure de type table
-----------------
CREATE TYPE TRC_MEASURE_RESULTS IS TABLE OF TRC_MEASURE
;
-----------------
Step 3 : creation de la fonction
-----------------
Points importants
Il faut rajouter PIPELINED a la declaration de la fonction
Il faut renvoyer les records a l aide de l instruction PIPE ROW
Il ne faut pas faire de return d une structure ou d une valeur
--
FUNCTION TRC_GET_RESULT (p_Camp IN NUMBER) RETURN TRC_MEASURE_RESULTS PIPELINED
IS
TYPE MyCursorType IS REF CURSOR;
MyCursor MyCursorType;
MyCounter NUMBER DEFAULT 1;
COL1 Varchar2(255);
COL2 Varchar2(255);
COL3 Number(11);
MySQLstmt VARCHAR(200);
BEGIN
MySQLstmt := ;
MySQLstmt := MySQLstmt || select prg,lib,deltassd*86400+deltassh*3600+deltassm*60+deltasss ellapsed_time from TRC_DATA ;
MySQLstmt := MySQLstmt || where campid= ;
MySQLstmt := MySQLstmt || p_Camp;
MySQLstmt := MySQLstmt || and deltassd*86400+deltassh*3600+deltassm*60+deltasss is not null ;
MySQLstmt := MySQLstmt || order by id ;
OPEN MyCursor FOR MySQLstmt;
LOOP
FETCH MyCursor INTO COL1,COL2,COL3 ;
EXIT WHEN MyCursor%NOTFOUND;
MyCounter := MyCounter+1;
PIPE ROW(TRC_MEASURE (COL1,COL2,COL3) );
END LOOP;
CLOSE MyCursor;
-- RETURN instruction should not be used as it has been done through the pipe
-- RETURN MyListOfRecords;
RETURN;
END
;
/
show errors;
/
-----------------
Step 4 : Utilisation dans ton outil SQL prefere (TOAD !!!!)
-----------------
A l aide de l instruction TABLE on peut alors recuperer le resultat de la fonction
SELECT * from TABLE(TRC_GET_RESULT(1))
|
|
lundi 26 janvier 2009 à 17:11:19 |
Re : fonction pl/sql retournant un tableau

kekranx
|
Merci pour la réponse. Sans déconner il faut faire tout ça en pl sql pour ramener un tableau de résultats ? Je trouve ça un peu abusé tout de même.
|
|
Cette discussion est classée dans : fonction, sql, tableau, retournant, pl
Répondre à ce message
Sujets en rapport avec ce message
pl/sql [ par midouesstt ]
slt a tous j suis debutant en pl/sql e j cherche une reponse a ma question: ecrire une fonction qui pour chaque departement donne en parametre de la
requete SQL INSERT tableau 2D dans table sql [ par LaTatadu91 ]
Bonjour,je debute en SQL, je precise avant tout!je programme actuellement un petit logiciel sous VC++ et j'effectue quelques requetes SQL pour attaque
Procédure ou fonction et retour d'une valeur [ par Max207 ]
Bonjour à tous,Je fais mes premiers pas en SQL Server et je rencontre quelques difficultés. Pas de soucis niveau création des tables & cies car je sui
fonction sql srver [ par bmeri ]
bjr j'ai besoin de votre aide pour trouver une fonction qui permet de renvoyer le trimestre pour pouvoir effectuer un filtre avec ,merci d'avance
PL/SQL [ par watt ]
je suisn entrain de developper sous oracle form developper 2000je voudrais le code d'enregistrement dans la table en PL/SQL de mes saisies sur le fo
ORA-06502: PL/SQL erreur numérique ou erreur sur valeur [ par kharon_rp ]
Marc
Traitement des chaînes en PL/SQL ? [ par mascoco ]
Bonjour,Je suis nouveau en PL/SQL, je souhaite faire un petit programme en pl/sql qui extrait les données à partir d'une page HTML grâce au package UT
renseignement sur le pl sql [ par lenneth666 ]
bonjourj'ai un compte rendu a faire sur l'interfacage entre le C et le Pl SQL, connaitriez vous de bon document comme référence a ce sujet ? merci d'a
ORACLE - PL SQL - compter le nombre de lignes [ par yaya2669 ]
Bonjour,J'essai tant bien que mal de trouver une fonction qui me permettrait de lister mes tables avec le nombre d'enregistrement dans une base oracle
code calendrier sous pl/SQL [ par foloyo3 ]
bonjour tout le monde ,je veux avaoir un code sous pl/SQL qui permet de creer un calendrier.merci;
Livres en rapport
|
Derniers Blogs
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
MYSQLSERVERMYSQLSERVER par favella
Cliquez pour lire la suite par favella
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|