begin process at 2010 03 20 03:12:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Procédures Stockées

 > 

procedure select


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

procedure select

samedi 23 juin 2007 à 18:23:26 | procedure select

abdoulax

Bonjour,

Je suis en train de faire un projet oracle pour mes études. Ce projet mélange du php avec une base oracle. Lors d'un bilan en cours de projet notre prof nous suggérer d'utiliser des procédures dans le code php, au lieu de faire directement de requête SQL. Le but étant de ne pas avoir à toucher à php lors de modification de la base.

Le problème qui se pose maintenant est comment faire cela. Car en effet dans une procedure un select ne marche pas:

  PROCEDURE type IS
  BEGIN
        SELECT * FROM TYPE;
       NULL;
  END type;

Je me suis dit que peut être je pourrai faire cette reqête via un curseur et sortir les données à l'aide d'une variable sous forme de tableau. Mais là, cela dépasse largement mes compétances. J'ai cherché un peu sur le net mais c'est pas évident à trouver... Si quelqu'un peut m'aider???

Cordialement

Have Fun ...
vendredi 6 février 2009 à 14:18:24 | Re : procedure select

exar

Membre Club
Bonjour,

Dans du code PL/SQL tu es obligé de déclarer une variable dans laquelle tu vas stocker le résultat...
De plus, si tu veux pouvoir utiliser ce résultat dans ton code PHP, il faut retourner quelque chose, soit grâce à un paramètre OUT, soit en créant une fonction plutôt qu'une procédure.
Exemple:

create or replace procedure p_compte(pon_compte out number) is
   ln_compte number(10) default 0;
begin
   select count(1)
      into ln_compte
     from ma_table;
   pon_compte := ln_compte;
end compte;
/

J'aurais pu bien entendu faire:
select count(1)
   into pon_compte
 from ma_table;

J'ai procédé ainsi pour montrer comment déclarer une variable dans une procédure pl/sql
Une fonction:

create or replace function compte return number is
   ln_compte number(10) default 0;
begin
   select count(1)
      into ln_compte
     from ma_table;
   return ln_compte;
end f_compte;
/

Il y a encore énormément de choses à dire, mais c'est un début.  Il y a pas mal de doc sur internet.

Bonne chance !


Cette discussion est classée dans : php, type, projet, select, procedure


Répondre à ce message

Sujets en rapport avec ce message

Faire plusieurs if dans un procedure stockee [ par chris81 ] bonjour,comment puis je faire pour verifier plusiseurs if dans la meme procedure stockee c'est a direif not exist(SELECT Id FROM...) et if not exists( If et else dans stored procedure [ par issoux ] Bonjour , j'essaie de faire des condition if et else imbriqué dans une stored procedure sous sql server 2000 , mais je n'y arrive pas : probleme de sy requete recherche sur un champ binary [ par hwoarangbe04 ] Bonjour alors on m'a dit que cela était possible et donc j'ai cherché avec GOOGLE mon ami et pas trouvé d'élément répondant à ma question . Comment fa select et cast ... [ par cudenetf ] Bonjour, j'ai une question sur des requetes select avec des casts.Je cherche a trouver le plus grand entier N dans une table tel que N>x1 et Nle probl chambre dans laquelle il y a des lits disponiblent dans un hopital [ par sexbombrock ] Bonjour, Mon soucie vient de la requette a fai projet [ par mbayemc ] on me demande de faire un projet qui me permettra   de  se  connecter a un serveur IRC quelconque ,lister les salons du serveur recuperer tous les mes [2008] Filestream et mode Design [ par cbu ] Bonjour à tous,je voudrais utiliser le Type Filestream.. Je l'ai activé avec succès sur mon serveur 2008.Je voudrais simplement savoir s'il est possib Procedure stockées [ par Jadice ] Bonjour, j'ai une base de données quelque part, je veux utiliser une procédure stockée pour extraire les données en utilisant le mode déconnecté. je v SELECT PARTICULIER [ par modjoo ] Bonjour,Voilà, j'ai peur de poser une question idiote mais là...enfin le ridicule ne tue fort heureusement !Je fais un select dans une table avec un c Disparitions de ligne de données (Oracle) !?!?!? (dans SELECT avec UNION, pas de doublons possible !) [ par Polack77 ] Bonjour ,J'ai un problème avec une sélection dans oracle :J'ai une table qui contient 140 426 lignes (soit pas temps que sa enfin me semble t'il)J'ai


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales