PL/SQL(六):函数

来源:互联网 发布:淘宝土特产店铺简介 编辑:程序博客网 时间:2024/05/21 01:32
一、函数
 1、有返回值
 2、存储在数据库
 3、能够作为表达式的一部分被调用
二、过程与函数的比较
 过程                                                                      函数
 作为一个独立的PL/SQL 语句执行                 作为表达式的一部分调用
 在规格说明中不包含 RETURN子句               必须在规格说明中包含RETURN子句
  可以返回很多值                                           必须返回单个值
 不用包含 RETURN 语句                               必须包含至少一条RETURN 语句
   总结:
 主要用途:作为SQL表达式的一部分,如 select max(id) where dual;

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

只返回一个数值:

create or replace function getStr(str varchar)return varcharas 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 varcharis 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;







原创粉丝点击