• Oracle函数


    函数调用限制
    1、SQL语句中只能调用存储函数(服务器端),而不能调用客户端的函数
    2、SQL只能调用带有输入参数,不能带有输出,输入输出函数
    3、SQL不能使用PL/SQL的特有数据类型(boolean,table,record等)
    4、SQL语句中调用的函数不能包含INSERT,UPDATE和DELETE语句

    1. 该函数接受3个可选参数,返回3个数字的和
    CREATE OR REPLACE FUNCTION add_three_numbers
    (
    a NUMBER:=0, b NUMBER:=0, c NUMBER:=0
    )
    RETURN NUMBER IS
    BEGIN
    RETURN a+b+c;
    END;
    2.函数的调用:



    函数的语法及举例:

    1.function函数的语法如下:

          create or replace function function_name (

           argu1 [mode1] datatype1, --定义参数变量

           argu2 [mode2] datatype2 --定义参数变量

       ) return datatype --定义返回的数据类型

      is

      begin

      end;

    执行 var v1 varchar2(100)        exec :v1:=function_name

    2.不带任何参数的定义

    create or replace function get_user

    return varchar2

    is

    Result varchar2(50); --定义变量

    begin

    select username into Result from user_users;

    return(Result); --返回值

    end get_user;

    3.带有in参数的

    create or replace function get_sal(

    empname in varchar2

    ) return number

    is

    Result number;

    begin

    select sal into Result from emp where ename=empname;

    return(Result);

    end;

    执行: SQL> var sal number  SQL> exec :sal:=get_sal('scott');

    4.带out参数的

    create or replace function get_info(

    e_name varchar2,

    job out varchar2

    ) return number

    Is

    Result number;

    begin

    select sal,job into Result,job from emp where ename=e_name; return(Result); end;

    执行:
    SQL> var job varchar2(20) 
    SQL> var dname varchar2(20) 
    SQL> exec :dname:=get_info('SCOTT',:job)

    Tips:
    前两天看到有人在pub上问sqlplus中通过define和variable定义的变量的区别。其实define定义的我
    理解不是变量而是字符常量,通过define定义之后,在通过&或者&&引用的时候不需要输入了,仅此而已。
    oracle在执行的时候自动用值进行了替换;而variable定义的是绑定变量

    http://blog.csdn.net/wanghai__/article/details/4778343

  • 相关阅读:
    PHP 获取完整URL地址
    竖向 两级手风琴 TAB 栏
    Log4Net 用法记录
    C# 正整数和非零正整数校验
    NewtonSoft对象转json时,把 NULL 转 "" , 过滤 NULL, DateTime 时间类型去除 T
    SQL 事务
    SQL insert 主键冲突
    【记录】无法读取配置节“AppSettings”,因为它缺少节声明
    asp.net 前后台数据交互方式(转)
    php 生成文件txt到指定目录
  • 原文地址:https://www.cnblogs.com/softidea/p/3923556.html
Copyright © 2020-2023  润新知