oracle数据库PL/SQL之过程和函数

本文介绍如何在Oracle数据库中创建和使用PL/SQL过程及函数,包括过程和函数的基本概念、创建方法、调用方式以及删除操作。通过具体示例展示了如何根据教师性别统计人数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

四)过程
1.基本概念:
oracle允许在数据库的内部创建并存储编译过的PL/SQL程序,该类程序包括过程、函数、包和触发器。我们可以将商业逻辑、企业规则等写成过程或函数保存到数据库中,通过名称进行调用,以便更好的共享和使用。
过程中有三种类型的参数:in/out/in out;
2.创建过程
1)语法
CREATE [OR REPLACE] PROCEDURE<过程名>
(<参数1>,[方式1]<数据类型1>,
<参数2>,[方式2]<数据类型2>,
...)
IS/AS
PL/SQL过程体;
2)示例
CREATE OR REPLACE PROCEDURE count_num
(in_sex in TEACHERS.SEX%TYPE)
AS
out_num NUMBER;
BEGIN
IF in_sex='M' THEN
SELECT count(SEX) INTO out_num
FROM TEACHERS
WHERE SEX='M';
dbms_output.put_line('NUMBER of Male Teachers:'||out_num);
ELSE
SELECT count(SEX) INTO out_num
FROM TEACHERS
WHERE SEX='F';
dbms_output.put_line('NUMBER of Female Teachers:'||out_num);
END IF;
END count_num;
3.调用过程
EXECUTE count_num('M');
EXECUTE count_num('F');
4.删除过程
DROP PROCEDURE count_num;
五)函数
1.基本概念
用于计算和返回一个值,调用时需要用表达式;
2.创建函数
CREATE [OR REPLACE] FUNCTION<函数名>
(<参数1>,[方式1]<数据类型1>,
<参数2>,[方式2]<数据类型2>,
...)
RETURN<表达式>
IS/AS
PL/SQL过程体; --必须要有一个RETURN子句

CREATE OR REPLACE FUNCTION count_num
(in_sex in TEACHERS.SEX%TYPE)
AS
return NUMBER;
BEGIN
IF in_sex='M' THEN
SELECT count(SEX) INTO out_num
FROM TEACHERS
WHERE SEX='M';
ELSE
SELECT count(SEX) INTO out_num
FROM TEACHERS
WHERE SEX='F';
END IF;
RETURN(out_num);
END count_num;
3.调用函数
DECLARE
m_num NUMBER;
f_num NUMBER;
BEGIN
m_num:=count_num('M');
f_num:=count_num('F');
END;
4.删除函数
DROP FUNCTION count_num;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值