oracle存储过程和存储函数创建方法(详细的解决方案)

SELECT * FROM emp;

------------------------存储的发展过程

-定义

创建{或替换}过程存储过程名(参数名称{ } /输出数据类型)

是/作为

开始



逻辑表达式



结束{存储过程名称};



-定义存储过程的年度工资并承诺输出

创建或替换程序proc_salyears(v_no数量)



sal_years数(9,2);

开始



计算年薪



选择萨尔* 12 + NVL(通讯,0)为sal_years从EMP在v_no empno =;



输出



dbms_output.put_line(sal_years);

结束;



-调用存储过程

模式1:



电话proc_salyears(7788);



模式2:



开始

(7369)proc_salyears;

结束;



输出参数的存储过程

-计算年薪和回报

创建或替换程序proc_salyears(v_no数量,sal_years号)



开始



计算年薪



选择萨尔* 12 + NVL(通讯,0)为sal_years从EMP在v_no empno =;

结束;



-调用存储过程



声明

v_sal数(9,2);

开始

proc_salyears(7876,v_sal);

dbms_output.put_line(v_sal);

结束;

开发存储功能

-定义



创建或替换函数存储函数名(参数名称在输入/输出数据类型)

返回数据类型

是|作为

开始

返回特定数据;

结束{存储函数名};



-定义存储函数名的年薪



创建或替换功能fun_salyears(f_no号)

返回数



sal_years数(9,2);

开始

选择萨尔* 12 + NVL(通讯,0)为sal_years从EMP在f_no empno =;

返回sal_years;

结束;

-使用存储功能

声明

sal_yeats数(9,2);

开始

sal_yeats:= fun_salyears(7876);

dbms_output.put_line(sal_yeats);

结束;



-可以缩写



开始

dbms_output.put_line(fun_salyears(7369));

结束;

-存储过程和存储功能的差异。

存储过程主要用于项目之间的数据共享,存储函数由存储过程调用。

存储函数可以在SQL语句中再次调用,而存储过程不是。