`

Oracle 10g创建函数——带输入、输出参数

阅读更多
--Oracle10g 开发函数
--1、建立不带参数的函数
create or replace function get_user
return varchar2
is
v_user varchar2(100);
begin
select username into v_user from user_users;
return v_user;
end;


--在sql中利用函数进行查询
select get_user from dual;



--2、建立带有输入参数的函数
create or replace function get_name(id in communitytype.community_type_id%type)
return varchar2
as
v_name communitytype.name%type;
begin
select name into v_name from communitytype com
where com.community_type_id = id;
return v_name;
end;


--使用函数
select get_name('ebook') from dual;



--3、建立带有输出的函数
create or replace function get_name(id in communitytype.community_type_id%type,name out communitytype.name%type)
return varchar2
as
v_eng_name communitytype.english_name%type;
begin
select com.name,com.english_name into name,v_eng_name from communitytype com
where com.community_type_id = id;
return v_eng_name;
end;


--使用函数(因为该函数带有out参数,不能再sql中直接调用,我们选择在command窗口执行函数)
SQL> var name varchar2(50)
SQL> var eng_name varchar2(50)
SQL> exec :eng_name:=get_name('ebook',:name);


--结果显示

    PL/SQL procedure successfully completed
    eng_name
    ---------
    电子图书修改
    name
    ---------
    电子图书



--4、建立同时带有in和out参数的函数
create or replace function result
(num1 number,num2 in out number)
return number
as
v_result number(6);
v_remainder number;
begin
v_result:=num1/num2;
v_remainder:=mod(num1,num2);
num2:=v_remainder;
return v_result;
end;

--使用函数(因为该函数带有out参数,不能再sql中直接调用,我们选择在command窗口执行函数)
SQL> var result1 number
SQL> var result2 number
SQL> exec :result2:=30


--结果显示

    PL/SQL procedure successfully completed
    result2
    ---------
    30

    SQL> exec :result1:=result(100,:result2)

    PL/SQL procedure successfully completed
    result1
    ---------
    3
    result2
    ---------

10
--5、删除函数
drop function result;


--6、查看函数源代码
select text from user_source where name = 'RESUL';
分享到:
评论

相关推荐

    Oracle存储过程、函数和包

    - **返回值**:存储过程可以通过输出参数返回结果,而函数则通过其自身的返回值来返回数据。 #### 3. 创建存储过程 - **权限需求**:创建存储过程需要`CREATE PROCEDURE`或`CREATE ANY PROCEDURE`权限。 - **基本...

    oracle ebs 报表输出

    在Oracle EBS中,报表的创建通常基于其强大的报表开发工具——Oracle Reports Builder。该工具允许用户通过图形化界面设计复杂的SQL查询,生成报表布局,并可以与EBS模块的数据源进行集成。报表可以是基于数据库查询...

    oracle教学

    - **存储过程**:是一种预编译的 SQL 代码块,存储在数据库中,可以接受输入参数、返回输出参数,并能实现复杂的业务逻辑。 - **函数**:类似于存储过程,但在调用时通常作为表达式的一部分,并返回一个值。 #### ...

    oracle 发送带附件的邮件

    例如,可能有一个`SEND_MAIL`过程,接受邮件的相关参数(如收件人、主题、正文和附件路径)作为输入,然后调用一个存储过程或Java存储过程,通过Oracle的DBMS_MAIL或UTL_SMTP包与`SendMail.jsp`进行交互,完成邮件的...

    oracle实例

    本文将通过介绍几个Oracle实例中的关键元素——函数、过程、包和触发器,帮助初学者理解这些概念并进行实践操作。 首先,我们来看函数的使用。创建一个名为`sp_fun2`的函数,它接收一个VARCHAR2类型的参数`spName`...

    精通Oracle.10g.Pl.SQL编程.pdf

    - **存储过程**:执行特定任务的过程,可以接受输入参数并返回输出参数。 - **函数**:返回一个值的过程,通常用于计算或逻辑判断。 - **触发器**:当特定事件(如INSERT、UPDATE、DELETE操作)发生时自动执行的一...

    oracle实验报告

    3)、创建一个函数,已出版社名为参数,返回该出版社出版的图书的平均价格。 4)、创建一个函数,以客户号为参数,返回该客户可以获得的礼品名称。 5)、创建一个函数,以图书号为参数,统计该图书被订购的总数量。 ...

    韩顺平玩转oracle视频的文档

    这部分介绍了Oracle中的各种内置函数,包括字符函数、数学函数、日期函数、转换函数和系统函数。 - **字符函数**:如`UPPER`、`LOWER`等用于字符串操作。 - **数学函数**:如`ROUND`、`TRUNC`等数学运算。 - **日期...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Oracle SQL高级编程》的源代码 对应的书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,...

    oracle教学7

    **创建函数**: ```sql CREATE OR REPLACE FUNCTION 函数名 (参数) RETURN 数据类型 AS BEGIN -- PL/SQL 语句 RETURN 数据; END; ``` **函数限制**: - 函数只能接受IN参数。 - 形参不能是PL/SQL类型。 - 返回...

    ORCAL自定义函数

    ORCAL数据库(假设为Oracle的一个误拼)支持用户创建自定义函数,这些函数可以被用于SQL查询中,极大地提高了数据库应用的灵活性和效率。 #### 二、自定义函数的基本语法 自定义函数的基本结构包括以下几个部分: ...

    oracle ebs开发文档

    ### Oracle EBS 开发文档概览 #### 一、Oracle EBS 基础知识介绍 **Oracle EBS (Enterprise Business Suite)** 是一套全面的企业管理软件解决方案,它提供了包括财务、供应链、人力资源等多个领域的功能模块。对于...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat 3. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行...

    Oracle SQL优化实例讲解.pdf

    AUTOTRACE可以用来验证在创建函数索引后,查询性能是否得到提升。 8. SQLTRACE分析工具——TKPROF详细讲解 SQLTRACE是Oracle中用于跟踪SQL语句执行的工具。使用TKPROF可以对SQLTRACE产生的跟踪文件进行分析,输出一...

    orcle发起get请求

    - **参数定义**:该存储过程接受一个输入参数`name`和一个输出参数`resmark`。 - **变量声明**:定义了`http_req`和`http_resp`变量来处理HTTP请求和响应,以及两个字符串变量`request_env`和`l_reply_line`分别用于...

    数据分析核心知识点总结 —— SQL.pdf

    - 创建存储过程:定义输入/输出参数和执行逻辑。 - 修改存储过程:更新过程中的SQL语句。 - 删除存储过程:当不再需要时移除。 2. **使用存储过程** - `IN`参数:传递输入值。 - `OUT`参数:返回结果值。 **...

    the standard OCCI demos shipped with Oracle 9.2.0

    - **绑定类(Bind)** 和 **定义类(Define)**:用于设置SQL语句的输入/输出参数,便于处理数据。 在"occi920"压缩包中的示例程序,很可能会涵盖以下主题: 1. **基本连接与断开**:展示如何初始化环境,建立和关闭...

    韩顺平玩转oracle学习笔记

    - Oracle提供了丰富的内置函数,如数学函数、日期函数、转换函数等。 ##### 数学函数 - 包括`abs`, `ceil`, `floor`, `round`, `trunc`, `mod`等。 ##### 日期函数 - 包括`add_months`, `current_date`, `next_day...

    DBCHM.rar_DBCHM 使用_MYSQL_oracle_woold2j_数据库文档

    4. **存储过程和函数**:提供存储过程和函数的定义、输入输出参数、执行逻辑等。 5. **索引和触发器**:分析索引的创建和优化,以及触发器的执行时机和作用。 生成的文档不仅方便了开发人员理解和使用数据库,也为...

Global site tag (gtag.js) - Google Analytics