博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 学习(三)pl/sql语言函数
阅读量:6252 次
发布时间:2019-06-22

本文共 1959 字,大约阅读时间需要 6 分钟。

  • 系统内置函数
    1. 数学运算函数
    2. 字符串函数
    3. 统计函数
    4. 日期函数
  • 用户定义函数:存储在数据库中的代码块,可以把值返回到调用程序。调用时如同系统函数一样
    • 参数模式
  1. IN模式:表示该参数时输入给函数的参数
  2. OUT模式:表示该参数在函数中被赋值,可以传给函数调用程序
  3. IN OUT模式:表示该参数既可以传值也可以被赋值
创建函数
  1. 1 CREATE[OR REPLACE]FOUNCTION
    <函数名>
    2 ( 3
    <参数名1>
    ,
    <参数类型>
    <数据类型>
    , 4
    <参数名2>
    ,
    <参数类型>
    <数据类型>
    , 5
    <参数名3>
    ,
    <参数类型>
    <数据类型>
    , 6 ... 7 ) 8 RETURN
    <返回值类型>
    /*定义返回值类型*/ 9 { IS|AS}10 [声明变量]11 BEGIN12
    <函数体>
    13 [RETURN(
    <返回表达式>
    );]14 END[
    <函数名>
    ];

     

    1 CREATE OR REPLACE FUNCTION 函数名称 2 ( 3     in_pmt IN char, 4     out_pmt OUT char, 5     in_out_pmt IN OUT char 6 ) 7   RETURN char 8   AS 9   return_char char;10   BEGIN11           
    <函数语句序列>
    12 RETURN(return_char);13 END[函数名称];
    View Code

     

    1 CREATE OR REPLACE FUNCTION average(cnum IN char) 2    RETURN number 3    AS 4    avger number; 5    BEGIN  6           SELECT AVG(成绩)INTO avger 7                 FROM CJB 8                  WHERE 课程号=cnum 9                   GROUP BY 课程号;10            RETURN(avger);11      END;
    View Code

     

  2. 语法要求
    1 函数语句序列中可能出现的情况2 IN模式:传递参数 对应变量为右值3 OUT模式:在函数中被赋值 对应变量为左值
    View Code

     

  3. 调用函数
    1 CREATE OR REPLACE FUNCTION count_num(in_sex IN) 2      RETURN number 3  AS 4       out_num number; 5  BEGIN 6       IF in_sex='男'THEN 7            SELECT COUNT(性别)INTO out_num; 8                 FROM XSB WHERE 性别=‘男'; 9       ELSE10             SELECT COUNT(性别)INTO out_num;11                 FROM XSB WHERE 性别=‘女';12       END IF13        RETURN(out_num);14 END count_num;
    View Code

     

    1 无论是在命令行还是在程序语句中,都可以通过名称直接在表达式中调用函数 2 格式: 3 
    <变量名>
    :=
    <函数名>
    [(
    <实参1>
    ,
    <实参2>
    ,..)] 4 5 DECLARE 6 girl_num number; 7 BEGIN 8 girl_num:=count_num('女'); 9 DBMS_OUTPUT.PUT_LINE(TO_CHAR(girl_num));10 END;
    View Code

     

  4. 删除函数
    1 DROP FUNCTION [
    <用户方案名>
    .]
    <函数名>
    2 eg:3 DROP FUNCTION count_num;

     

转载于:https://www.cnblogs.com/yuelien/p/6628090.html

你可能感兴趣的文章
jquery.cookie 介绍 和 用法
查看>>
[CI] 使用Jenkins自动编译部署web应用
查看>>
SVN与TortoiseSVN实战:补丁详解
查看>>
Centes7 使用 xshell 登陆
查看>>
TestNG源代码分析:依赖管理的实现
查看>>
VMWare 安装时报错 tools-windows.msi failed报错解决办法
查看>>
java一些面试题
查看>>
如何使用dll和lib
查看>>
干货型up主
查看>>
文件与二进制流互转
查看>>
获取页面中所有dropdownlist类型控件
查看>>
【转自ITPUB】SYNONYM关于underlying table权限的小小发现
查看>>
halcon图像合并(贴图到指定位置)
查看>>
stark组件(2):提取公共视图函数、URL分发和设置别名
查看>>
android——使用Interceptor设置缓存来给服务器减负
查看>>
样式独立性的解决方案
查看>>
刷leetcode是什么样的体验?【转】
查看>>
linux内核数据结构之kfifo【转】
查看>>
c++学习笔记(新手学习笔记,如有错误请与作者联系)
查看>>
java集合复制和反转
查看>>