Bonjour
Peut-on créer un procédure stocké avec un tableau dynamique en paramètre,
si oui merci de m'éclairer avec la syntaxe.![]()
Bonjour
Peut-on créer un procédure stocké avec un tableau dynamique en paramètre,
si oui merci de m'éclairer avec la syntaxe.![]()
En pl/sql un tableau dynamique est implémenté par les PL/SQL tables
Il suffit de déclarer un type de table pl/sql et ensuite l'utiliser comme type d'un argument d'une procédure stockée.
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Bon, voila un petit exemple fait rapidement :
et l'output :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 create or replace package test_array IS type string_array is table of varchar2(30) index by binary_integer; procedure proc(args in out string_array); end test_array; / create or replace package body test_array IS procedure proc(args in out string_array) is begin args(0) := 'titi'; args(1) := 'fifi'; args(2) := 'riri'; end; end test_array; / set serveroutput on; declare tab_str test_array.string_array; begin test_array.proc(tab_str); dbms_output.put_line(tab_str(0)); dbms_output.put_line(tab_str(1)); dbms_output.put_line(tab_str(2)); end; /
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Package créé. Corps de package créé. titi fifi riri ProcÚdure PL/SQL terminée avec succès.
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
Merci
et comment je lui passe les paramètres ?
ce paramètre ne passe sous oracle 8i, je le supprime ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part SET Serveroutput ON;
Partager