zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    centos安装Libzip
    PHP安装
    DWZ主从表界面唯一性验证(自写js)(一)
    JSTL的if...else项目小试
    分享:忙了一辈子,才知道什么是你的
    JSTL时间格式化项目小试
    eclipse中去掉validate的方法
    Java初学者必学的JSTL
    (转)Java程序员应该知道的10个调试技巧
    为什么那些美事没有实现---生活中小事有感
  • 原文地址:https://www.cnblogs.com/softidea/p/3923556.html
Copyright © 2011-2022 走看看