- 5
- 0
- 约8.13千字
- 约 5页
- 2016-09-30 发布于浙江
- 举报
oracle 定义函数入门
oracle 自定义函数入门
博客分类:?
oracle
?
用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样,如max(value)函数,其中,value被称为参数。函数参数有3种类型。
IN?参数类型:表示输入给函数的参数。
OUT?参数类型:表示参数在函数中被赋值,可以传给函数调用程序。
IN OUT参数类型:表示参数既可以传值也可以被赋值。
1、语法格式:
SQL语法方式创建的语法格式为:
CREATE?OR?REPLACE?FUNCTION?function_name?????????/*函数名称*/(Parameter_name1,mode1 datatype1, ?/*参数定义部分*/Parameter_name2,mode2 datatype2,Parameter_name3,mode3 datatype3…)RETURN?return_datatype /*定义返回值类型*/IS/ASBEGIN?????? Function_body ?/*函数体部分*/??????RETURN?scalar_expression????????????????????????/*返回语句*/END?function_name;
??
说明:
function_name::用户定义的函数名。函数名必须符合标示符的定义规则,对其所有者来说,该名在数据库中是唯一的。
parameter:用户定义的参数。用户可以定义一个或多个参数。
mode:参数类型。
datatype:用户定义参数的数据类型。
return_type::用户返回值的数据类型。
函数返回scalar_expression表达式的值,function_body函数体由pl/sql语句构成。
2、示例
函数代码:
create?or?replace?function?T01001_countreturn?numberiscount_T01001?number;beginselect?count(*)?into?count_T01001?from?T01001;return(count_T01001);end?T01001_count;??????????????????--记得一定要打分号调用:declarei?number;begini:=T01001_count();dbms_output.put_line(to_char(i));end; ?--记得一定要打分号
注意:
(1)????如果函数没有参数,那么函数名后不应该要括号;
(2)????创建函数的时候end后面一定要记得写函数名
--没有参数的函数????create or replace function get_user return varchar2 is???? v_user varchar2(50);????begin???? select username into v_user from user_users;????? return v_user;????end get_user;???????--测试????方法一????select get_user from dual;???????方法二????SQL var v_name varchar2(50)????SQL exec :v_name:=get_user;???????PL/SQL 过程已成功完成。???????SQL print v_name???????V_NAME????------------------------------????TEST???????方法三????SQL exec dbms_output.put_line(当前数据库用户是:||get_user);????当前数据库用户是:TEST???????PL/SQL 过程已成功完成。???--没有参数的函数create or replace function get_user return varchar2 isv_user varchar2(50);beginselect username into v_user from user_users;return v_user;end get_user;--测试方法一select get_user from dual;方法二SQL var v_name varchar2(50)SQL exec :v_name:=get_use
您可能关注的文档
最近下载
- 2025山东劳动职业技术学院单招《数学》通关题库含完整答案详解(夺冠系列).docx VIP
- 巴蜀中学2026届高三1月适应性月考卷(六)英语试卷(含答案解析).pdf
- 大数据技术及其在土木工程中的应用.doc VIP
- SI210 控制系统调试试运转.pdf VIP
- (第一届吉林大学天文知识竞赛预赛试题及答案.doc VIP
- 《大学物理简明教程》教学课件.pptx
- 2025年高考新高考全国Ⅰ卷英语试题(含听力音频、听力原文和答案).pdf VIP
- 2025年一级造价师《建设工程造价案例分析(交通运输)》考试真题(后附权威解析).pdf VIP
- 2025年山东劳动职业技术学院单招语文模拟试题(附答案解析) 完整版2025.pdf VIP
- 精品解析:重庆市南开中学校2024-2025学年九年级上学期期末考试数学试题(原卷版).docx VIP
原创力文档

文档评论(0)