- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle数据库存储过程和存储函数
OOrraaccllee数数据据库库存存储储过过程程和和存存储储函函数数
存存储储过过程程和和存存储储函函数数
指存储在数据库中供所有用户程 调用的子程 叫存储过程、存储函数。
存储过程没有返回值。存储函数有返回值
创创建建存存储储过过程程
用CREATE PROCEDURE命令建立存储过程和存储函数。
语法:
create [or replace] PROCEDURE过程名(参数列表)
AS
PLSQL子程 体;
存存储储过过程程示示例例::为为指指定定的的职职工工在在原原工工资资的的基基础础上上长长10%的的工工资资
/*
为指定的职工在原工资的基础上长10%的工资,并打印工资前和工资后的工资
*/
SQL create or replace procedure raiseSalary (empid in number)
as
pSal emp.sal%type;--保存员工当前 工资
begin
--查询该员工的工资
select sal into pSal from emp where empno=empid ;
--给该员工涨工资
update emp set sal = sal*1.1 where empno=empid ;
--打印涨工资前后的工资
dbms_output.put_line (员工号: || empid || 涨工资前
|| psal || 涨工资后 || psal*1.1) ;
end ;
1 /
Procedure created
1
--存存储储过过程程调调用用
--方法一
SQL set serveroutput on
SQL exec raisesalary (7369) ;
员工号:7369涨工资前
800涨工资后880
方法二
sseett sseerrvveerroouuttppuutt oonn
bbeeggiinn
rraaiisseessaallaarryy () ;;
eenndd ;;
//
PL/SQL procedure successfully completed
存存储储函函数数
函数 (Function )为一命名的存储程 ,可带参数,并返回一计算值。函数和过程的结构类似,但必须有一个
RETURN子句,用于返回函数值。函数说明要指定函数名、结果值的类型,以及参数类型等。
建立存储函数的语法:
CREATE [OR REPLACE] FUNCTION函函数数名名(参参数数列列表表)
RETURN 函函数数值值类类型型
AS
PLSQL子子程程 体体;;
示示例例::查查询询某某职职工工的的年年收收入入。。
SQL /**/
文档评论(0)