ITPub博客

首页 > 数据库 > Oracle > Oracle PL/SQL 之 函数

Oracle PL/SQL 之 函数

原创 Oracle 作者:starive 时间:2014-02-08 09:01:29 0 删除 编辑

Create  [or  replace ]  function 函数名

[(参数[{in | out | in  out}]  数据类型 ,...... )]

Return  返回类型

[authid {current_user | designer}]

{is | as}

Begin

函数体

End  函数名;

 

Or  replace:如果要创建的函数存在,则先删除此函数,再重建此函数,也就是将撤销和重建这两个步骤合为一步操作。

In | out | in out:参数的模式。

authid curren_user :在调用时, oracle 使用调用该过程的用户权限域执行该过程,此时调用者必须有权限访问存储过程中所涉及到的所有数据库对象的权限。

authid designer :为默认选线, oracle 将使用过程所有者的权限来执行.

  1. create function leap_or_common_year
  2. (year in integer)
  3. return varchar2 is
  4. retval varchar2(30);
  5. begin
  6. if (year mod 400)-0 or ((year mod 100)!=0 and (year mod 4)= 0) then
  7. retval:=year ||' is a leap year;';
  8. else
  9. retval:=year ||'is a common year;';
  10. end if
  11. return retval;
  12. end leap_or_common_year;


  1. SQL> set serveroutput on;
  2. SQL> declare
  3.   2 output varchar2(30);
  4.   3 begin
  5.   4 output:=leap_or_common_year(2010);
  6.   5 dbms_output.put_line(output);
  7.   6 end;
  8.   7 /
  9. 2010is a common year;

  10. PL/SQL 过程已成功完成。


  1. SQL> select leap_or_common_year(2012) from dual;

  2. LEAP_OR_COMMON_YEAR(2012)
  3. -------------------------------------------------------------

  4. 2012 is a leap year;





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26435490/viewspace-1077860/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-18

  • 博文量
    143
  • 访问量
    492032