zoukankan      html  css  js  c++  java
  • 【Oracle11g】20_函数

    函数是可以返回值的命名的 PL/SQL 子程序。

    1.语法

      CREATE [OR REPLACE] FUNCTION 
      <function name> [(param1,param2)]
    RETURN <datatype>  IS|AS 
      [local declarations]
    BEGIN
      Executable Statements;
      RETURN result;
    EXCEPTION
      Exception handlers;
    END;
    

    2.定义函数的限制

    函数只能接受 IN 参数,而不能接受 IN OUT 或 OUT 参数
    形参不能是 PL/SQL 类型,只能是数据库类型
    函数的返回类型也必须是数据库类型

    3.访问函数的两种方式

    • 使用 PL/SQL 块
    • 使用 SQL 语句

    4.实战演练

    -- 建立函数(编译有错误,可以使用show error查看错误信息)
    create or replace function test_func
    return varchar2
    is
    begin
    	return 'hello,Logan';
    end;
    
    -- 在SQL中调用
    select test_func from dual;
    
    -- 在PL/SQL中调用(首先需要执行:set serverout on)
    declare
    	str varchar2(40);
    begin
    	str := test_func;
    	dbms_output.put_line(str);
    end;
    
    

    5.过程和函数的区别

    过程 函数
    作为 PL/SQL 语句执行 作为表达式的一部分调用
    在规格说明中不包含 RETURN 子句 必须在规格说明中包含 RETURN 子句
    不返回任何值 必须返回单个值
    可以包含 RETURN 语句,但是与函数不同,它不能用于返回值 必须包含至少一条 RETURN语句
  • 相关阅读:
    [BZOJ2969] 矩形粉刷
    数字 (number)
    字符串(String)
    小HY的四元组
    最大公约数(Max Gcd)
    [洛谷P2102] 地砖铺设
    Python OS模块(内置模块)
    json解析神器--jsonpath
    kafka 优势+应用场景
    Python之异常处理
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12853616.html
Copyright © 2011-2022 走看看