Oracle에서는 저장 프로시저의 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; /
출력 모드의 매개변수는 값을 출력하는 데 사용되며, 들어오는 값은 무시됩니다. 서브루틴 내에서 수정할 수 있습니다. 출력: 서브루틴이 실행된 후 호출 시 출력 모드 매개변수의 최종 값이 해당 0608084050877e0679c826a1323614ac에 할당됩니다. 참고: 출력 모드 매개변수는 변수를 통해 호출되어야 합니다.
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 Video Tutorial"
위 내용은 Oracle의 저장 프로시저의 출력 매개변수는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!