还不知道写啥,先搜索一下:
当然了,不可能只是写这一部分,开个玩笑
关于对procedure和function的理解
最基本就是语法的不同
procedure:
create or replace procedure 一个名字可以自己设(in 参数名1 参数类型,in out 参数名2 参数类型)
begin
select 字段 into 参数名2 from 表名 where 条件=参数名1;
end;
--procedure调用
call procedure的名字(参数1,参数2);
select 参数2;
function:
create or replace function 函数名(参数1 int)
returns 返回类型
begin
set n=n-1;
return(select distinct salary from employee desc limit n,1);
end;
--function调用
select 函数名(参数1);
由此可见,procedure是没有返回值(return),function是有返回值(return)且返回值类型要一致。都包括(in、out、in out)三种模式的参数。
在调用方法上也有不同,procedure可以作为一个独立的PL/SQL语句来执行,function不能独立,执行在PL/SQL中必须指定变量接收返回,必须作为表达式的一部分调用。在SQL语句中可以直接调用function,procedure不可以直接调用。在DML中同样适用。
在不同的情况下,需要运用的的也不尽相同,视情况决定,那种适用。当然了,还是一句话:适合自己的才是最好的。