oracle基础
FUNCTION
create [or replace] function 函数名
([p1,p2...pn])
return datatype
is|as
--声明部分
begin
--PL/SQL程序块
end
语法解析:
1、function 是创建函数的关键字。
2、p1,p2…pn是函数的入参,Oracle创建的函数也可以不需要入参,传参带括号。
3、return datatype:是函数的返回值的类型
4、通过is承接着PL/SQL程序块。这部分是函数的计算内容。
函数的作用是用来计算数据,并返回结果。
开始举例了哦:
create or replace FUNCTION F_GETID
RETURN VARCHAR2
AS
ID VARCHAR2(16);
BEGIN
SELECT SUBSTR(CAST(DBMS_RANDOM.VALUE AS VARCHAR2(38)),2,16) INTO ID FROM dual;
RETURN ID;
END;
再来一剂强心针:
create or replace function sf_score_pm(
p_in_stuid in varchar2,--学号
p_in_courseid in varchar2 --课程ID
)
return number
is
ls_pm number:=0;
ls_score number:=0;
begin
--获取该学生的成绩
select t.score into ls_score from score t
where t.stuid = p_in_stuid
and t.courseid = p_in_courseid;
--获取成绩比该学生高的人数
select count(1) into ls_pm from score t
where t.courseid = p_in_courseid
and t.score>ls_score;
--得到该学生的成绩排名
ls_pm:=ls_pm+1;
return ls_pm;
exception
when no_data_found then
dbms_output.put_line('该学生的课程:'||p_in_courseid|| '的成绩在成绩表中找不到');
end;
Oracle函数创建与使用
895

被折叠的 条评论
为什么被折叠?



