PL/SQL(六):函数

一、函数
 1、有返回值
 2、存储在 数据库
 3、能够作为表达式的一部分被调用
二、过程与函数的比较
 过程                                                                      函数
 作为一个独立的PL/SQL 语句执行                 作为表达式的一部分调用
 在规格说明中不包含 RETURN子句               必须在规格说明中包含RETURN子句
  可以返回很多值                                           必须返回单个值
 不用包含 RETURN 语句                               必须包含至少一条RETURN 语句
   总结:
 主要用途:作为SQL表达式的一部分,如 select max(id) where dual;

 只能返回一个值,想要返回多个值,则必须传入多个out模式参数

只返回一个数值:

create or replace function getStr(str varchar)
return varchar
as 

begin   
  return str;
end;

----------------
declare
  str varchar(20);
begin
  dbms_output.put_line(getStr('abc'));
  select getStr('abc') into str from dual;
  dbms_output.put_line(str);
end;

返回多个数值:

create or replace function fun_test(stuId in T_SCORE.STU_ID%type, score out T_SCORE.EXAM_SCORE%type)
return varchar
is
 stu_name T_STU.STU_NAME%type;
begin
  
  select max(T_SCORE.EXAM_SCORE) into score from T_SCORE where T_SCORE.STU_ID = stuId;
  select T_STU.STU_NAME into stu_name from T_STU where T_STU.STU_ID = stuId;
 
  return stu_name;  
end fun_test;
------------------------
declare
  stu_id varchar(5);
  score number(5,2);
  stu_name varchar(8);

begin
  stu_id := '1000'; 
  dbms_output.put_line(fun_test(stu_id,score));
  dbms_output.put_line(score);
end;

SQL PLUS相关的命令:

--3.常用语句
  --显示错误语句 , fun_test为函数名
   show errors function fun_test;  
   --删除函数,
   drop function fun_test;







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值