PL / SQL功能-1

该线程包含一些有关oracle中功能的有用提示/示例,论坛成员可能会觉得有用。

功能:

==========

1.它是一个已存储为数据库中对象的编译代码块。

2.IT必须将值返回到调用过程。

3.一旦创建功能,它将成为双表的一部分。

4.如果功能包含任何输出或输入参数,则无法在语句级别执行该功能。

基本语法

=============


CREATE [OR REPLACE] FUNCTION FUNCTION NAME[PARAMETER PARAMETER MODE],....])]
RETURN DATATYPE
{IS/AS}
[LOCAL DECLARATION]
BEGIN
EXECUTABLE STATMENT
RETURN VALUE;
[EXCEPTION
EXCEPTION HANDLER]
RETURN VALUE;
END [FUNCTIONNAME]; 
示例代码显示无参数函数

===================================


CREATE OR REPLACE FUNCTION HELLO RETURN VARCHAR2 IS
BEGIN
RETURN 'Hello welcome to TSDN';
END HELLO;

打电话

--------------

select hello from dual;

参数中的样本功能

=================================

 
 CREATE OR REPLACE FUNCTION date_diff (max_date STRING, min_date STRING)
 RETURN PLS_INTEGER IS 
 BEGIN
   RETURN TO_DATE(max_date) - TO_DATE(min_date);
 EXCEPTION
   WHEN OTHERS THEN
   RETURN NULL;
 END date_diff; 
执行功能

------------------------------------------------


SELECT date_diff('15-JUL-1980', '19-MAR-1979') FROM dual;
在模式功能示例2中

============================


CREATE OR REPLACE FUNCTION EVENODD(num_in NUMBER) RETURN STRING IS
BEGIN
  IF MOD(num_in, 2) = 0 THEN
    RETURN 'EVEN';
ELSE
RETURN 'ODD';
  END IF;
END EVENODD;

执行

------------------------

select evenodd(1234) from dual;

在模式功能示例3中

============================


CREATE OR REPLACE function shoname (num in number) return string is
name varchAr2(10);
begin
select ename into name from emp where empno=num;
return name;
end; 
执行

------------------------

SELECT shoname (7788) FROM DUAL;
在模式功能示例4中

============================


create or replace function spelldate(dt date) return varchar2 as
mdate varchar2(50);
begin
select to_char(dt,'ddspth month year') into mdate
from dual;
return mdate;
end;

还要检查

PL / SQL功能-2

From: https://bytes.com/topic/oracle/insights/743248-pl-sql-functions-1-a

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值