Oracle之自定义函数
数据库中函数包含四个部分:声明、返回值、函数体和异常处理。
Sql代码
-没有参数的函数
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 过程已成功完成。
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
Oracle之自定义函数相关推荐
- OleDb执行Oracle带自定义函数的SQL深度历险
真是太郁闷了, 郁闷了我多半天. 事情从以前写的自定义函数讲起: create or replace function f_getWorkdays(dayBegin in Date, dayEnd i ...
- oracle 创建nchar类型,ORACLE创建自定义函数返回varchar类型
select from tmp1; select from tmp2; 方法一: 好处:简单,直接sql展示 劣处:如果主表数据量太大,十几亿的话,性能会大大下降,此时建议第二种方法 select a ...
- oracle中自定义函数如何使用,oracle自定义函数语法及使用
1.自定义函数语法 create [or replace] function 函数名 -- 定义一个名为xxx的函数 ( parameterName1 ...
- Oracle的自定义函数浅析
用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(value)函数,其中,value被称为参数.函数参数有3种类型. IN 参数类型:表示输入给函数的参数 ...
- 使用ODAC调用ORACLE的自定义函数和存储过程
procedure TForm1.btn1Click(Sender: TObject);var i:integer;begin//预处理with OraStoredProc1 dobegin Auto ...
- 先随机后排序的oracle,Oracle用decode函数或CASE-WHEN实现自定义排序
Oracle用decode函数或CASE-WHEN实现自定义排序 1 问题 对SQL排序,只要在order by后面加字段就可以了,可以通过加desc或asc来选择降序或升序.但排序规则是默认的,数字 ...
- Oracle存储过程和自定义函数
概述 Oracle-procedure解读 Oracle存储过程和自定义函数 PL/SQL中的过程和函数(通常称为子程序)是PL/SQL块的一种特殊的类型,这种类型的子程序可以以编译的形式存放在数据库 ...
- oracle vm concat指定分隔符,重写Oracle的wm_concat函数,自定义分隔符、排序
oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...
- Oracle自定义函数
2019独角兽企业重金招聘Python工程师标准>>> Oracle自定义函数 用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(val ...
- oracle自定义函数获取省份,oracle 自定义函数 方法 基本例子
核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] da ...
最新文章
- jbpm知识点——tasknode
- 安装oracle到create inventory时卡住了怎么办_「推荐」wacom数位板怎么用?教你如何正确的安装数位板驱动...
- 登录之验证码相关实现
- JSP 第一天:提交表单--获取表单中的数据值
- HDU 1010 Tempter of the Bone heuristic 修剪
- 二叉树中的最大路径和
- 浅谈c#中使用lock的是与非
- Istio最佳实践:在K8s上通过Istio服务网格进行灰度发布
- 将软件添加到右键菜单 最简单的方法
- 解决360 安装补丁智能忽略的问题!
- 微信会员卡如何为不同用户设置不同有效期?
- ubuntu 安装 hustoj
- linux vdi,linux – 调整vdi大小不能正常工作
- python装在固态还是机械好_大容量与高性能SSD硬盘的比较
- Android9.0 紧急号码配置
- 毕业论文 引用与自动编号基本技巧
- Python知识点总结——fractions(分数模块)
- ThinkPHP3.2.3 where注入
- 使用Git工具上传项目代码到Gitee仓库
- 1 Introduction 介绍