Oracle之自定义函数
2024-10-10 13:36:01
数据库中函数包含四个部分:声明、返回值、函数体和异常处理。
- --没有参数的函数
- create or replace function get_user return varchar2 is
- v_user varchar2(50);
- begin
- select username into v_user from user_users;
- return v_user;
- end get_user;
- --测试
- 方法一
- select get_user from dual;
- 方法二
- SQL> var v_name varchar2(50)
- SQL> exec :v_name:=get_user;
- PL/SQL 过程已成功完成。
- SQL> print v_name
- V_NAME
- ------------------------------
- TEST
- 方法三
- SQL> exec dbms_output.put_line('当前数据库用户是:'||get_user);
- 当前数据库用户是:TEST
- PL/SQL 过程已成功完成。
- --带有IN参数的函数
- create or replace function get_empname(v_id in number) return varchar2 as
- v_name varchar2(50);
- begin
- select name into v_name from employee where id = v_id;
- return v_name;
- exception
- when no_data_found then
- raise_application_error(-20001, '你输入的ID无效!');
- end get_empname;
附:
函数调用限制
1、SQL语句中只能调用存储函数(服务器端),而不能调用客户端的函数
2、SQL只能调用带有输入参数,不能带有输出,输入输出函数
3、SQL不能使用PL/SQL的特有数据类型(boolean,table,record等)
4、SQL语句中调用的函数不能包含INSERT,UPDATE和DELETE语句
查看函数院源代码
oracle会将函数名及其源代码信息存放到数据字典中user_source
select text from user_source where name='GET_EMPNAME';
删除函数
drop function get_empname;
http://www.cnblogs.com/1848/articles/1828927.html
最新文章
- php发展起源
- [ZigBee] 5、ZigBee基础实验——图文与代码详解定时器1(16位定时器)(长文)
- 使用JSLint提高JS代码质量
- dhtmlxTree介绍(转载)
- jQuery HTML节点元素修改、追加的方法 html()、append()、prepend()、
- delphi 基础之二 面向对象概念初步
- fil_system_struct
- [LeetCode] Remove Element 分析
- Apache Spark Tachyon的简介
- addEventlistener监听的事件完成一次后自动取消与jquery的one方法比较;animate动画制作,arguments.callee的用法
- 使用Nexus搭建Maven代理仓库
- 【Unity3D】Unity3D开发《我的世界》之二、创建一个立方体
- OneAPM 获得“2018中国 IT 服务创新奖”,彰显技术创新实力
- js 原生ajax实现
- scss 转为 less
- 【转】【Linux】Linux下统计当前文件夹下的文件个数、目录个数
- Android Studio 添加已经移除的Module
- 阿里云ssh断开处理办法
- 使用ajax实现form表单的submit事件
- ASP.NET Web API实践系列05,消息处理管道