2011-08-19 3 views
-1

Ma question est: Une procédure stockée qui reçoit en entrée un vol donné et une date donnée, et affiche une liste d'appels clients, qui comprend le nom, l'adresse et le numéro de téléphone en sortie. La requête est simple, je peux obtenir toutes les données d'une seule table, mais, je ne sais pas comment prendre une entrée lors de l'exécution de la procédure, puis en le comparant avec les valeurs à l'intérieur. La requête est:Procédures stockées avec paramètres

select NAME, ADDRESS, PHONE 
    FROM SCH_FLIGHTS SF, PASSENGERS P 
    WHERE SF.DATE(input) = P.DATE 

would highly vous appréciez me aider sur le même .... juste besoin de convertir cette requête dans une procédure stockée qui prend 2 entrées, une date et un flight_no tel que mentionné dans la question au dessus.

Merci.

+1

http://www.mysqltutorial.org/stored-procedures-parameters.aspx. C'est un bon tutoriel. – Nitish

+0

Quelles sont les deux entrées que vous voulez transmettre? Je C SF.DATE (entrée), quel est l'autre? –

+0

Veuillez préciser quelle est la version du SGBDR que vous utilisez. SQL est (en grande partie) standard sur tous les flovours, mais les procédures stockées sont personnalisées pour chaque produit. Votre balise dit [mysql] mais l'erreur sur laquelle vous incluez votre commentaire sur la réponse de Bernard provient d'Oracle Pl/SQL. – APC

Répondre

0

Pour créer le SP (ne savent pas exactement les types donc je suis juste deviner):

delimiter // 
CREATE PROCEDURE NameOfProcedure(input VARCHAR(32)) 
BEGIN 
    select NAME, ADDRESS, PHONE 
    FROM SCH_FLIGHTS SF, PASSENGERS P 
    WHERE SF.DATE(input) = P.DATE 
END 
// 

votre code PHP ressemblerait somthing comme celui-ci (TODO remplacer l'entrée $ par le paramètre de requête pour des raisons de sécurité) : $ resultat = $ db-> query ("appel NameOfProcedure ($ input)");

+1

PLS-00103: le symbole Rencontrés "(" si vous attendez un des suivants: :. =), @% De caractères par défaut c'est l'erreur que je reçois. – user902243

+2

@ user902243 Ceci est déroutant. Utilisez-vous MySql? Le message d'erreur ressemble à un message Oracle. –