Oracle では、ストアド プロシージャの out パラメータは出力モードのパラメータです。値の出力に使用されます。受信値は無視されます。サブルーチン内で変更できます。サブルーチンの後が実行されると、out モード パラメータの最終値は、呼び出し中に対応する実際のパラメータ変数に割り当てられます。out モード パラメータは、変数を通じて呼び出す必要があります。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
Oracle ストアド プロシージャは、レコード セットであると言えます。いくつかのPL/SQL文で構成されるコード・ブロックで構成されています。これらのPL/SQL文コードは、いくつかの関数(単一表または複数表の追加、削除、変更および問合せ)を実装し、このコード・ブロックにこの機能を使用するときは、彼に電話するだけです。
ストアド プロシージャの利点:
データベースがアクションを実行するとき、最初にコンパイルされてから実行されます。ただし、ストアド プロシージャはコンパイルされたコード ブロックであるため、PL/SQL 文よりも実行効率が高くなります。
ストアド プロシージャは、プログラムやネットワーク内で対話するときに多数の PL/SQL 文を置き換えることができるため、ネットワーク通信量を削減し、通信速度を向上させることもできます。
ストアド プロシージャを通じて、権限のないユーザーが制御下のデータベースに間接的にアクセスできるため、データのセキュリティが確保されます。
ストアド プロシージャの例:
--给指定的员工涨100块钱的工资,并且打印涨前和涨后的薪水 create or replace procedure raiseSalary(eno in number) as --定义变量,保存涨前的薪水 psal emp.sal%type; begin --得到涨前的薪水 select sal into psal from emp where empno=eno; --涨100 update emp set sal=sal+100 where empno=eno; --要不要commit? --一般,不在存储过程或者存储函数中提交和回滚 dbms_output.put_line('涨前:'||psal||' 涨后:'||(psal+100)); end; /
出力モードのパラメータは値を出力するために使用され、受信値は無視されます。サブルーチン内で変更できます。出力: サブルーチンの実行後、呼び出し時に out モード パラメータの最終値が対応する <実際のパラメータ変数> に割り当てられます。注: out モード パラメータは変数を通じて呼び出す必要があります。
out パラメータの例:
--查询某个员工的姓名 月薪和职位 /* 1. 查询某个员工的所有信息 ---> out参数太多 2. 查询某个部门中所有员工的所有信息 --> 返回集合 */ create or replace procedure queryempinfo(eno in number, pename out varchar2, psal out number, pjob out varchar2) as begin select ename,sal,empjob into pename,psal,pjob from emp where empno=eno; end; /
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上がOracleのストアドプロシージャのoutパラメータは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。