Est-il possible d'utiliser de “retour” dans une procédure stockée?
CREATE PROCEDURE Pname(in_Tid IN VARCHAR2,in_IP IN VARCHAR2,outstaticip OUT VARCHAR2,outcount OUT NUMBER)
AS
BEGIN
select STATIC_IP into outstaticip from OP_TTER_MAPPING where TERMINAL_ID = in_Tid;
if in_IP = outstaticip then
return 1;
else
select COUNT(*) into outcount from OP_TTER_MAPPING where DYNAMIC_IP_LOW <= in_IP AND DYNAMIC_IP_HIGH >= in_IP AND TERMINAL_ID = in_Tid;
if outcount = 1 then
return 1;
else
return 0;
end if;
end if;
END;
- Est-il possible d'utiliser de retour dans une procédure stockée, comme ci-dessus?
- Si nous pouvons l'utiliser de retour, comment puis-je obtenir cette valeur de retour dans
Executesql("begin Pname(----)END")
méthode
MODIFIER
Maintenant j'ai édité ma valeur de retour dans une procédure stockée comme ça, suis-je en train de faire ?
CREATE PROCEDURE P_ValidateTIDIP(in_Tid IN VARCHAR2,in_IP IN VARCHAR2,outstaticip OUT VARCHAR2,outcount OUT NUMBER,outretvalue OUT NUMBER)
AS
BEGIN
select STATIC_IP into outstaticip from OP_TTER_MAPPING where TERMINAL_ID = in_Tid;
if in_IP = outstaticip then
outretvalue:=1;
else
select COUNT(*) into outcount from OP_TTER_MAPPING where DYNAMIC_IP_LOW <= in_IP AND DYNAMIC_IP_HIGH >= in_IP AND TERMINAL_ID = in_Tid;
if outcount = 1 then
outretvalue:=1;
else
outretvalue:=0;
end if;
end if;
END;
OriginalL'auteur user1 | 2012-11-05
Vous devez vous connecter pour publier un commentaire.
Dans une procédure Stockée, vous retourner les valeurs à l'aide de
OUT
paramètre SEULEMENT. Comme vous avez défini deux variables dans votre exemple:Suffit d'attribuer les valeurs de retour les paramètres de sortie c'est à dire
outstaticip
etoutcount
et l'accès au retour de l'appel de l'emplacement. Ce que je veux dire ici est la suivante: lorsque vous appelez la procédure stockée, vous serez en passant ces deux variables. Après l'appel de procédure stockée, les variables seront remplis avec les valeurs de retour.Si vous voulez avoir
RETURN value
que le retour de la PL/SQL d'appel, puis utilisezFUNCTION
. Veuillez noter que dans le cas, vous seriez en mesure de retourner une seule variable comme variable de retour.Salut yogendra singh, j'ai édité le code ci-dessus, en suis-je dans le bon chemin????
Je suis ici. quelle est la question?
Dans ma question, j'ai posté une procédure stockée w/o de la valeur de retour, je veux savoir, je pars dans la bonne voie ou pas.
Vous avez défini les paramètres de sortie et semble être dans la bonne direction. C'est la façon dont vous travaillez avec des procédures et une meilleure utilisation de la procédure de la fonction est: vous pouvez avoir plusieurs sorties. Seulement d'inaptitude, c'est que vous ne pouvez pas utiliser la procédure de la fonction inline dans certains requête.
OriginalL'auteur Yogendra Singh
Utilisation de la FONCTION:
OriginalL'auteur Vaibhav Desai
-- Sortie de la procédure peuvent être recueillies à partir des variables x et y (ans1:= x et ans2:=y): 150 et 20 respectivement.
-- Réponse emprunté à partir de: https://stackoverflow.com/a/9484228/1661078
OriginalL'auteur user_sk
OriginalL'auteur arjun sah
C'est possible.
Lorsque vous utilisez Retourner à l'intérieur d'une procédure, le contrôle est transféré au programme appelant qui appelle la procédure. C'est comme une sortie dans les boucles.
Il ne retourne aucune valeur.
OriginalL'auteur Manisundaram R