Maison  >  Article  >  base de données  >  Quels sont les types de paramètres des procédures stockées Oracle ?

Quels sont les types de paramètres des procédures stockées Oracle ?

青灯夜游
青灯夜游original
2022-01-25 15:03:036069parcourir

Les types de paramètres des procédures stockées Oracle sont : 1. Type d'entrée, ce qui signifie que l'appelant transmet la valeur au processus ; 2. Type de sortie, ce qui signifie que le processus transmet la valeur à l'appelant (peut renvoyer plusieurs valeurs) ; . Type d'entrée et de sortie, ce qui signifie tous deux que l'appelant transmet une valeur au processus et que le processus transmet une valeur à l'appelant.

Quels sont les types de paramètres des procédures stockées Oracle ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Type de paramètre de procédure stockée Oracle

1 dans : type d'entrée, c'est-à-dire que l'application transmet des données dans la procédure stockée Oracle, indiquant que l'appelant transmet une valeur à la procédure. in Le processus est un paramètre en lecture seule, et les paramètres de ce type ne peuvent pas être modifiés dans la procédure stockée ;

2 out : type de sortie, indiquant que le processus envoie une valeur à l'appelant.

3. in out : type d'entrée et de sortie, qui possède les deux caractéristiques ci-dessus, mais peut être lu et écrit, cela signifie que l'appelant transmet une valeur au processus, et cela signifie que le processus transmet une valeur au processus. demandeur.

Vérifier les paramètres d'entrée :

Étant donné que les paramètres par défaut sont de type entrée, dans la figure ci-dessus, une erreur est signalée lors de l'attribution d'une valeur au paramètre BAcount.

Solution :

CREATE OR REPLACE PACKAGE body BAWQ_PROC_JGZX IS
PROCEDURE PROC_CSJGZX
(
    pproc VARCHAR2,
    BAcount int :=3
)
IS
 i int :=BAcount;  --定义变量,通过变量替代参数
BEGIN
     i:=BAcount;
dbms_output.put_line(i);
  delete CSJGZX;
  while i>0 LOOP
       i := i-1 ;  
           insert into CSJGZX (CSJGZX_PROC,id,bh,mc,data) values(pproc,SYS_GUID(),SYS_GUID(),'济南',cast(DBMS_RANDOM.VALUE(1,200) as int));
       commit;
   end loop;

END PROC_CSJGZX;
END BAWQ_PROC_JGZX;

En termes simples, in est le message transmis à la procédure stockée lorsque la procédure stockée est appelée. out est le message envoyé par la procédure stockée à l'appelant. in out signifie la communication entre les deux.

Tutoriel recommandé : "Tutoriel Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn