您的位置:首页 > 数据库 > Oracle

oracle 中函数(function)的学习

2014-02-21 11:03 344 查看
--oracle中的Function有两种:
--一种是系统内置的函数(直接拿来用就行),
--比如:trunc()函数
SELECT TRUNC(SYSDATE) FROM dual;
--一种是自定义的(自定义函数功能的)。
--自定义函数的语句格式是:
CREATE OR REPLACE FUNCTION /*函数关键字*/
FUNCTION_NAME() /*函数名 括号里面可以定义参数*/
RETURN NUMBER /*返回类型 这里是number类型*/
IS
V_NUM NUMBER; /*debug 变量  变量定义区  定义自己需要用到的常量 或者中间变量*/
BEGIN
--主题语句
--return 结果
--[exception 异常处理]
END FUNCTION_NAME;

--函数的调用
--方式一:跟存储过程调用方式类似
DECLARE
--参数定义
BEGIN
function_name(/*参数*/);
END;

--方式二:
SELECT funciton_name(/*参数*/) FROM dual;

--方式三:如果在pl/sql上  则可以直接右键函数名  再点test

--下面  来看一下我自己写的实例
--这个实例是实现判断一个数  是否为整数  是整数则返回 1 不是整数则返回 0
CREATE OR REPLACE FUNCTION LY_FUNC_INT(IN_NUMBER NUMBER,out_code OUT VARCHAR2) RETURN NUMBER IS
--判断一个数是否为整数
--in_number 为需要判断的数字
--out_code 为提示信息
--debug 变量
V_NUMBER NUMBER;

BEGIN
--trunc()
V_NUMBER := TRUNC(IN_NUMBER);
--判断v_number 与 in_number 的差值
--若为0 则表示in_number为整数
--若不为0 则表示in_number不为整数
IF IN_NUMBER - V_NUMBER <> 0 THEN
out_code := '该数不是整数';
RETURN 0;
END IF;
OUT := '该数是整数';
RETURN 1;

END;

--
DECLARE
--参数定义
v_code VARCHAR2(30);
BEGIN
function_name(123.123,v_code);
END;
--初学时的知识
--我也是初学者
--有错误请见谅
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: