数据库中函数包含四个部分:声明、返回值、函数体和异常处理。

  1. --没有参数的函数
  2. create or replace function get_user return varchar2 is
  3. v_user varchar2(50);
  4. begin
  5. select username into v_user from user_users;
  6. return v_user;
  7. end get_user;
  8. --测试
  9. 方法一
  10. select get_user from dual;
  11. 方法二
  12. SQL> var v_name varchar2(50)
  13. SQL> exec :v_name:=get_user;
  14. PL/SQL 过程已成功完成。
  15. SQL> print v_name
  16. V_NAME
  17. ------------------------------
  18. TEST
  19. 方法三
  20. SQL> exec dbms_output.put_line('当前数据库用户是:'||get_user);
  21. 当前数据库用户是:TEST
  22. 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

最新文章

  1. php发展起源
  2. [ZigBee] 5、ZigBee基础实验——图文与代码详解定时器1(16位定时器)(长文)
  3. 使用JSLint提高JS代码质量
  4. dhtmlxTree介绍(转载)
  5. jQuery HTML节点元素修改、追加的方法 html()、append()、prepend()、
  6. delphi 基础之二 面向对象概念初步
  7. fil_system_struct
  8. [LeetCode] Remove Element 分析
  9. Apache Spark Tachyon的简介
  10. addEventlistener监听的事件完成一次后自动取消与jquery的one方法比较;animate动画制作,arguments.callee的用法
  11. 使用Nexus搭建Maven代理仓库
  12. 【Unity3D】Unity3D开发《我的世界》之二、创建一个立方体
  13. OneAPM 获得“2018中国 IT 服务创新奖”,彰显技术创新实力
  14. js 原生ajax实现
  15. scss 转为 less
  16. 【转】【Linux】Linux下统计当前文件夹下的文件个数、目录个数
  17. Android Studio 添加已经移除的Module
  18. 阿里云ssh断开处理办法
  19. 使用ajax实现form表单的submit事件
  20. ASP.NET Web API实践系列05,消息处理管道

热门文章

  1. [推荐]看图/图片管理软件XnViewMP
  2. Colorable Fantasy UI
  3. Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)
  4. S2小测--索引--视图
  5. VS代码片段(snippet)创作工具——Snippet Editor(转)
  6. android studio使用说明
  7. [转]Linux查看物理CPU个数、核数、逻辑CPU个数
  8. Implement Stack using Queues
  9. C语言 指针与字符串
  10. C#中成员初始化顺序