admin管理员组文章数量:1794759
Oracle中用户自定义函数(五)
目录
1.函数参数的模式
2.创建函数
(1)可视化方式创建函数
(2) 命令的方式创建函数
①创建格式
②模版格式
③例子1
④调用函数
3.删除函数
(1)可视化方式
(2)命令方式
学习Oracle数据库相关基本操作(一)
学习Oracle数据库的新建表的基本操作(二)
学习Oracle数据库新建数据库操作(三)
学习Oracle数据库并对数据进行查询,插入等操作(四)
关于Oracle中的关闭和启动数据库的几种方式(五)
Oracle中含替换变量的查询(二)
Oracle中数据库的查询(三)
PL/SQL基础知识点(一)
PL/SQL变量,常量和数据类型(二)
PL/SQL基本程序结构和语句(三)
Oracle中系统内置函数(四)
1.函数参数的模式(1)IN模式:表示该参数是输入给函数的参数,也就是说在函数中不能再改IN模式的参数进行赋值了。
(2)OUT模式:表示该参数在函数中被赋值,并可以传给函数调用程序(也就是在函数可以被重新的赋值)。
(3)IN OUT模式:表示该参数既可以传值也可以被赋值。
2.创建函数 (1)可视化方式创建函数(2) 命令的方式创建函数 ①创建格式
CREATE [OR REPLACE] FUNCTION <函数名>
(
<参数名1>,<参数模式><数据类型>
<参数名2>,<参数模式><数据类型>
……
)
RETURN <返回值类型>
{IS | AS}
[声明变量]
BEGIN
<函数体>
[RETURN (<返回表达式>);]
END [<函数名>];
提示:使用OR REPLACE表示当前的函数会覆盖之前同名的函数。
②模版格式CREATE OR REPLACE FUNCTION 函数名
(
in_pmt IN char,
out_pmt OUT char,
in_out_pmt IN OUT char
)
RETURN char
AS
return_char char
BEGIN
<函数体>
[RETURN (return_char);
END [<函数名>];
③例子1--要求返回所有学生最高学分的分数。
函数定义:
create function demofun2( num IN char ) return char AS reScore number; BEGIN select max(score) into reScore from xsb; return (reScore); END;
④调用函数<变量名>:=<函数名>[(<实参1>,<实参2>,...)]
提示:变量名是用来接收函数返回值的。
SET SERVEROUTPUT ON; DECLARE getScore number; BEGIN getScore:=demofun2(1); DBMS_OUTPUT.PUT_LINE('最高学分: '||to_char(getScore)); END;
注:其实我这里还没有使用传递的参数。
例子2:返回女生中的最高学分。
create function demofun3( getsex IN char ) return number AS reScore number; BEGIN select max(score) into reScore from xsb where sex=getsex; return (reScore); END;
SET SERVEROUTPUT ON; DECLARE getScore number; BEGIN getScore:=demofun3('女'); DBMS_OUTPUT.PUT_LINE('最高学分: '||to_char(getScore)); END;
3.删除函数 (1)可视化方式 (2)命令方式DROP FUNCTION [<用户方案名>.] <函数名>
例如:drop function demofun3;
版权声明:本文标题:Oracle中用户自定义函数(五) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686506440a75204.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论