ホームページ >データベース >Oracle >Oracle ストアド プロシージャのパラメータのタイプは何ですか?

Oracle ストアド プロシージャのパラメータのタイプは何ですか?

青灯夜游
青灯夜游オリジナル
2022-01-25 15:03:036194ブラウズ

Oracle ストアド プロシージャのパラメータ タイプは次のとおりです: 1. 入力タイプ、呼び出し元がプロセスに値を渡すことを意味します; 2. 出力タイプ、プロセスが呼び出し元に値を渡すことを意味します (複数の値を返すことができます)値); 3 、入力タイプと出力タイプ。これは、呼び出し元がプロセスに値を渡すことを意味するだけでなく、プロセスが呼び出し元に値を渡すことも意味します。

Oracle ストアド プロシージャのパラメータのタイプは何ですか?

このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。

#Oracle ストアド プロシージャのパラメータ タイプ

1.in: 入力タイプ、つまりデータが送信されます。アプリケーション プログラムによって Oracle ストアド プロシージャに渡すことは、呼び出し元がプロシージャに値を渡すことを意味します。このパラメータはストアド プロシージャの 読み取り専用パラメータであり、このタイプのパラメータはストアド プロシージャでは変更できません。ストアド プロシージャ;

2. out: プロセスが呼び出し元に値を渡すことを示す出力タイプ。

3. In out: 入出力タイプ。上記の両方の特性を持ちますが、読み取りと書き込みが可能です。これは、呼び出し元がプロセスに値を渡し、プロセスが値を渡すことを意味します。発信者に。

入力パラメーターの確認:

デフォルトのパラメーターは入力タイプであるため、上の図では、BAcount に値を割り当てるときにエラーが報告されます。パラメータ。

解決策:

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;

簡単に言うと、 in はストアド プロシージャが呼び出されたときにストアド プロシージャに渡されるメッセージです。 out は、ストアド プロシージャによって呼び出し元に送信されるメッセージです。 in out は二人の間のコミュニケーションを意味します。

推奨チュートリアル: 「

Oracle チュートリアル

以上がOracle ストアド プロシージャのパラメータのタイプは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。