1.存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。
2.存储函数:可以通过return 语句返回函数值,存储过程则不能。
3.存储函数为一命名的存储程序,可带参数,并返回一计算值。函数和过程的结构类似,但必须有一个return子句,用于返回函数值。函数说明要指定函数名、结果值的类型,以及参数类型等。
 存储函数语法:
 create[or replace] functiion 函数名(参数列表)
 return函数值类型
 as
 PLSQL子程序体;
4.函数示例:
--查询某个员工的年收入
create or replace function queryEmpIncome(eno in number)
return number
as
  --月薪和奖金
  psal   number;
  pcomm number;
begin
  select sal,comm into psal,pcomm from emp where empno=eno;
  --返回年收入
  return psal*12+nvl(pcomm,0);
end;
5.过程和函数的区别在于函数可以有一个返回值;而过程没有返回值。
 但过程和函数都可以通过out指定一个或多个输出参数,可以利用out参数,在过程和函数中实现返回多个值。
6.过程示例:
create or replace procedure queryEmpInfo(eno in number,pname out varchar2,psal  out number,pjob  out varchar2)
as 
begin
  select ename,sal,empjob into pname,psal,pjob from emp where empno=eno;
end;
7.两个||为字符串连接符;‘’ 两个单引号连在一起, 形成转义字符









