• 系统内置函数
    1. 数学运算函数
    2. 字符串函数
    3. 统计函数
    4. 日期函数
  • 用户定义函数:存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样
    • 参数模式
      1. IN模式:表示该参数时输入给函数的参数
      2. OUT模式:表示该参数在函数中被赋值,可以传给函数调用程序
      3. IN OUT模式:表示该参数既可以传值也可以被赋值
    • 创建函数
      1.  CREATE[OR REPLACE]FOUNCTION<函数名>
        (
        <参数名1>,<参数类型><数据类型>,
        <参数名2>,<参数类型><数据类型>,
        <参数名3>,<参数类型><数据类型>,
        ...
        )
        RETURN<返回值类型> /*定义返回值类型*/
        {IS|AS}
        [声明变量]
        BEGIN
        <函数体>
        [RETURN(<返回表达式>);]
        END[<函数名>];
         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[函数名称];
         CREATE OR REPLACE FUNCTION average(cnum IN char)
        RETURN number
        AS
        avger number;
        BEGIN
        SELECT AVG(成绩)INTO avger
        FROM CJB
        WHERE 课程号=cnum
        GROUP BY 课程号;
        RETURN(avger);
        END;
      2. 语法要求
         函数语句序列中可能出现的情况
        IN模式:传递参数 对应变量为右值
        OUT模式:在函数中被赋值 对应变量为左值
      3. 调用函数
         CREATE OR REPLACE FUNCTION count_num(in_sex IN)
        RETURN number
        AS
        out_num number;
        BEGIN
        IF in_sex='男'THEN
        SELECT COUNT(性别)INTO out_num;
        FROM XSB WHERE 性别=‘男';
        ELSE
        SELECT COUNT(性别)INTO out_num;
        FROM XSB WHERE 性别=‘女';
        END IF
        RETURN(out_num);
        END count_num;
         无论是在命令行还是在程序语句中,都可以通过名称直接在表达式中调用函数
        格式:
        <变量名>:=<函数名>[(<实参1>,<实参2>,..)] DECLARE
        girl_num number;
        BEGIN
        girl_num:=count_num('女');
        DBMS_OUTPUT.PUT_LINE(TO_CHAR(girl_num));
        END;
      4. 删除函数
         DROP FUNCTION [<用户方案名>.]<函数名>
        eg:
        DROP FUNCTION count_num;

oracle 学习(三)pl/sql语言函数的更多相关文章

  1. 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式

    目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...

  2. 学习笔记:oracle学习三:SQL语言基础之检索数据:简单查询、筛选查询

    目录 1. 检索数据 1.1 简单查询 1.1.1 检索所有列 1.1.2 检索指定的列 1.1.3 查询日期列 1.1.4 带有表达式的select语句 1.1.5 为列指定别名 1.1.6 显示不 ...

  3. Oracle PL/SQL语言函数、匿名语句及循环

    一.自定义函数 格式: create or replace function 函数名(参数名 参数类型...) return  返回值类型 as xx vachar2(20)              ...

  4. Oracle学习笔记六 SQL常用函数

    函数的分类 Oracle 提供一系列用于执行特定操作的函数 SQL 函数带有一个或多个参数并返回一个值 以下是SQL函数的分类:

  5. oracle学习之pl/sql使用==转载

    PLSQL循序渐进全面学习教程(全):https://blog.csdn.net/spark998/article/details/2065269

  6. Oracle11g R2学习系列 之九 PL/SQL语言

    这是个重头戏,如果精通了PL/SQL,毫不夸张的说明精通了Oracle了.PL/SQL由以下三个部分组成(Definition,Manipulation,Control): DDL:数据定义语言,Cr ...

  7. Oracle PL/SQL 语言(Procedural Language/SQL)

    Oracle PL/SQL 语言(Procedural Language/SQL)是结合了结构化查询与 Oracle 自身过程控制为一体的强大语言,PL/SQL 不但支持更多的数据类型,拥有自身的变量 ...

  8. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  9. Oracle数据库之PL/SQL过程与函数

    Oracle数据库之PL/SQL过程与函数 PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据 ...

随机推荐

  1. Spark 调优

    资源调优 (1). 在部署 spark 集群中指定资源分配的默认参数 在 spark 安装包的 conf 下的 spark-env.sh SPARK_WORKER_CORES SPARK_WORKER ...

  2. opencv人脸检测

    找了一张自己喜欢的<超人前传>剧照 其中的xml分类器需要到https://github.com/opencv/opencv/tree/master/data/haarcascades去下 ...

  3. 修改element-ui里table中悬浮框中三角号的颜色及透明度设置

    .el-tooltip__popper,.el-tooltip__popper.is-dark{background:rgba(0,0,0,0.6) !important;} .el-tooltip_ ...

  4. Nmap目录扫描和漏洞扫描(9.27 第十三天)

    目录扫描:扫描站点的目录,寻找敏感文件(目录名.探针文件.后台.robots.txt[].备份文件等) 目录:站点结构,权限控制不严格 探针文件:服务器配置信息,phpinfo.php   readm ...

  5. App_显示图表内容

    今天在之前记账本的基础上增加了图标的显示功能,在本次课程中它以折线图为例讲述.但是课程中给出了多有图的代码案例. https://github.com/lecho/hellocharts-androi ...

  6. cf 507E. Breaking Good

    因为要求是在保证最短路的情况下花费是最小的,所以(先保证最短路设为S吧) 那么花费就是最短路上的新建边条数A+剩余拆掉边的条数B,而且总的原有好的边是一定的,所以,只要使得A尽量小,那么B就大,所以要 ...

  7. 十一、CI框架之输出用户IP地址

    一.代码如下: 二.效果如下: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢.

  8. 六、CI框架之分配变量

    一.在controllers里面添加 $this->load->vars('m_Str1','我是一个字符串变量'); 二.在View中添加相应代码 界面显示效果如下: 不忘初心,如果您认 ...

  9. hash表系列(转)

    http://www.cnblogs.com/mumuxinfei/p/4441826.html 前言: 我以前在百度的mentor, 在面试时特喜欢考察哈希表. 那时的我满是疑惑和不解, 觉得这东西 ...

  10. 关于torch.flatten的笔记

    先看函数参数: torch.flatten(input, start_dim=0, end_dim=-1) input: 一个 tensor,即要被“推平”的 tensor. start_dim: “ ...