oracle自定义函数入门

oracle自定义函数入门

ID:34725156

大小:92.18 KB

页数:5页

时间:2019-03-10

oracle自定义函数入门_第1页
oracle自定义函数入门_第2页
oracle自定义函数入门_第3页
oracle自定义函数入门_第4页
oracle自定义函数入门_第5页
资源描述:

《oracle自定义函数入门》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、oracle自定义函数入门博客分类: ·oracle 用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样,如max(value)函数,其中,value被称为参数。函数参数有3种类型。IN 参数类型:表示输入给函数的参数。OUT 参数类型:表示参数在函数中被赋值,可以传给函数调用程序。INOUT参数类型:表示参数既可以传值也可以被赋值。1、语法格式:SQL语法方式创建的语法格式为:CREATE OR REPLACE FUNCTION function_name         /*函数名称*/(Param

2、eter_name1,mode1datatype1,            /*参数定义部分*/Parameter_name2,mode2datatype2,Parameter_name3,mode3datatype3…)RETURN return_datatype                /*定义返回值类型*/IS/ASBEGIN      Function_body                  /*函数体部分*/      RETURN scalar_expression                        /

3、*返回语句*/END function_name;  说明:function_name::用户定义的函数名。函数名必须符合标示符的定义规则,对其所有者来说,该名在数据库中是唯一的。parameter:用户定义的参数。用户可以定义一个或多个参数。mode:参数类型。datatype:用户定义参数的数据类型。return_type::用户返回值的数据类型。函数返回scalar_expression表达式的值,function_body函数体由pl/sql语句构成。2、示例函数代码:create or replace function T01

4、001_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;                 --记得一定要打分号注意:(

5、1)    如果函数没有参数,那么函数名后不应该要括号;(2)    创建函数的时候end后面一定要记得写函数名--没有参数的函数    createorreplacefunctionget_userreturnvarchar2is    v_uservarchar2(50);    begin    selectusernameintov_userfromuser_users;     returnv_user;    endget_user;       --测试    方法一    selectget_userfromdual; 

6、      方法二    SQL>varv_namevarchar2(50)    SQL>exec:v_name:=get_user;       PL/SQL过程已成功完成。       SQL>printv_name       V_NAME    ------------------------------    TEST       方法三    SQL>execdbms_output.put_line('当前数据库用户是:'

7、

8、get_user);    当前数据库用户是:TEST       PL/SQL过程已成功完成。 

9、  --没有参数的函数createorreplacefunctionget_userreturnvarchar2isv_uservarchar2(50);beginselectusernameintov_userfromuser_users;returnv_user;endget_user;--测试方法一selectget_userfromdual;方法二SQL>varv_namevarchar2(50)SQL>exec:v_name:=get_user;PL/SQL过程已成功完成。SQL>printv_nameV_NAME------

10、------------------------TEST方法三SQL>execdbms_output.put_line('当前数据库用户是:'

11、

12、get_user);当前数据库用户是:TESTPL/SQL过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。