J'ai regardé tant de tutoriels sur le net, et je vois pas mal de questions similaires à regarder qui ne répondent pas à ma question puisqu'elles utilisent différentes implémentations SQL. J'utilise SQLPlus, oracle 10g.Quel est le problème avec ce code de procédure stockée SQL (Oracle) simple?
CREATE OR REPLACE PROCEDURE getuserid
(uname in varchar) AS
BEGIN
select accountId from "ValidClients"
where username = uname
END getuserid;
Le code 'SELECT accountId de "ValidClients" WHERE nom d'utilisateur =' testname '; 'fonctionne correctement, donc je ne peux pas comprendre ce que je fais de façon incorrecte pour que SQLPlus me donne une erreur de compilation.
EDIT: Aucune clause INTO n'était la réponse, merci à tous ceux qui ont aidé. Problème résolu d'une part, puis-je demander à confirmer: un programme Java va appeler ces procédures stockées et essayer de les stocker dans un ensemble de résultats. Le code suivant fonctionnera correctement pour la procédure stockée ci-dessus?
CallableStatement cs = connection.prepareCall("{call getuserid(?)}");
cs.setString(1, user);
ResultSet rs = cs.executeQuery();
int userid = Integer.parseInt(rs.getString(1));
EDIT2: Ignore ce qui précède, il est conservé pour la postérité. Non seulement est-il assez grand pour une question qui lui est propre, mais il est facilement résolu par une recherche Google et ne nécessite pas de réponse personnalisée.
Vous avez raison, je suppose que j'ai été assez impoli de ne pas le faire. Rectifié. – buggritall