Comment passer mes requetes SQL en PLSQL...

Nico -  
 Nico -
Bonjour à tous et à toute !

Voila, pous des raisons de sécurité et performance, je souhaiterais passer l'ensemble de mes requetes SQL en PLSQL.

Pour cela, aucun soucis pour les PLSQL qui mettent à jour la base (insert, update, delete), mais le problème est sur la récupération: donc sur les SELECT...

Pour etre plus précis, je n'arrive pas à créér de fonction PLSQL qui me récupère plusieurs enregsitrements.

Quelqu'un pourrait -il m'apporter de l'aide, et par exemple, me dire comment créer une fonction pour récupérer tous les enregsitrements de la table "matable" :

Bref passer la requete SQL "SELECT * from matable" en PLSQL ???

Merci d'avance pour votre aide précieuse.
A voir également:

3 réponses

jarko Messages postés 11 Statut Membre 2
 
qu'utilises tu pour dire que cela ne remonte pas tout tes enregistrements?
a partir du moment ou tu utilise du SQL ANSI il n'y aura jamais aucun soucis et la requete de abse : "SELECT * FROM matable" est vraiment standard et fonctionne en SQL et PLSQL

attention dans certain langage comme vb, il faut replacer le lecteur d'enregistrement au debut (par défaut il se place sur le dernier enregistrement)
0
Nico
 
Tout d'abord, Merci pour ta réponse jarko.
Je teste mon mon plsql, sous sqlplus.
Voici un exemple :

CREATE OR REPLACE Function SelectMatable ()
RETURN number
IS
champ1 number;

CURSOR c1
IS
SELECT champ1
from matable;
BEGIN

open c1;
fetch c1 into champ1;
dbms_output.put_line('champ1 = ' || champ1);

close c1;

RETURN champ1;
END;
/

Pour l'exécution sous SQLPLUS, je fais :
SET SERVEROUTPUT ON
SELECT SelectMatable() FROM DUAL;

-> A l'affichage :
123

Alors que dans matable, j'ai plusieurs enregsitrements. J'ai l'impression qui me retourne uniquement le dernier. c'est pourquoi je n'arrive pas à retourner une liste d'enregsitrement (retour d'un select) en passant par une procédure stockée.

Est-ce la bonne méthode pour exécuter ma procédure stockée ? Ma procédure est ette bonne ?

Merci pour d'avance.
0
Nico
 
Personne n'aurait une d'idée ? (même petite...)
0