Oracle————存储过程与函数
存储进程 IN(默认参数模式):暗示当存储进程别挪用时,实参值被转达给形参;形参起变量浸染,只能读该参数,而不能修改该参数。IN模式参数可所以变量或表达式。 create or replace procedure proc_divide (2)在函数的建设进程中没有declare要害字,而是行使is可能as要害字来取代。 (3)函数必需有返回值:return datatype。 (4)一样平常不在函数中执行 DML(数据哄骗说话-插入、删除、更新)操纵。 ? 举例:存储进程挪用函数 --函数 increaseSalary()create or replace function increaseSalary(theIncome in number) return varchar2 as theMessage varchar2(50); begin if theIncome <=4000 then theMessage := ‘收入太低,人为增进10%‘; elsif theIncome <=8000 then theMessage := ‘收入偏低,人为增进5%‘; elsif theIncome <=20000 then theMessage := ‘收入一样平常,人为增进2%‘; else theMessage := ‘收入很高,人为增进1%‘; end if; return theMessage; end;--存储进程create or replace procedure getEmpInfo (theId in out employees.employee_id%type,theName out employees.first_name%type,theSalary out employees.salary%type,theMessage out varchar2) isbegin select employee_id,first_name,salary,increaseSalary(salary) into theId,theName,theSalary,theMessage from employees where employee_id = theId; exception when NO_DATA_FOUND then dbms_output.put_line(‘没有该员工信息‘); end; set serveroutput on ;declare theId employees.employee_id%type:=&theId; theName employees.first_name%type; theSalary employees.salary%type; theMessage varchar2(50);begin getEmpInfo(&theId,theMessage);--输入员工id dbms_output.put_line(‘ID为:‘||theId||‘的员工,名字为‘||theName ||‘,收入为‘||theSalary||‘,‘||theMessage); end; ---------------------? (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |