--没有参数的函数
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;
分享到:
相关推荐
Oracle 自定义函数是数据库开发中的重要工具,允许开发者创建具有特定功能的代码块,以便在查询或业务逻辑中重用。这些函数可以根据需求返回特定的数据类型,并可以通过 IN、OUT 或 IN OUT 参数接收和传递数据。 1....
本文将深入探讨Oracle自定义聚集函数的实现与应用,包括其四个主要组成部分:`ODCIAggregateInitialize`、`ODCIAggregateIterate`、`ODCIAggregateMerge`以及`ODCIAggregateTerminate`。 ### ...
Oracle 自定义split 函数 Oracle没有提供split函数,但可以自己建立一个函数实现此功能。比如“abc defg hijkl nmopqr stuvw xyz”,分隔符是空格,但空格个数不定。 源代码: CREATE OR REPLACE TYPE ty_str_...
自定义函数不能被直接在Java中调用,可以通过存储过程调用函数的方法。本文采用实例的方法,介绍如何在Oracle数据库客户端PL/SQL中创建自定义函数,然后创建相应的存储过程调用该函数,最终实现一个实例计算。
自定义函数也可以通过PL/SQL语言创建,以满足特定需求。 其次,**存储过程**是包含一系列SQL语句和PL/SQL代码的可重用模块。它们可以有输入和输出参数,甚至可以返回结果集。存储过程有助于提高性能,因为它们可以...
根据提供的Oracle管道函数和动态游标的代码片段及描述,我们可以深入了解其背后的技术要点与实现细节。下面将逐一解析这些知识点。 ### Oracle管道函数 管道函数(Pipe-lined Function)是Oracle中一种特殊类型的...
这个实例集是开发者和学习者宝贵的资源,它涵盖了各种功能和应用场景,旨在帮助用户深入理解Oracle Developer 2000的工作原理及其在实际项目中的应用。 Oracle Developer 2000主要由两大部分组成:Oracle Forms和...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置..."Oracle函数"的资源包很可能包含了关于这些函数的详细说明和实例,对于想要深入理解和掌握Oracle函数的用户来说,是非常宝贵的参考资料。
Oracle 10gR2 包含了许多内置的分析函数,如 AVG、COUNT、MAX、MIN、SUM、RANK 等,同时也支持用户自定义的分析函数。 分析函数的基本格式如下: Analytic-Function (Argument, Argument, ...) OVER (Query-...
这个“Oracle PL SQL实例精讲(中英文版)”可能包含了一系列的教程、代码示例以及解释,帮助读者深入理解和掌握PL/SQL的用法。 1. **PL/SQL基础** - **变量声明**:在PL/SQL中,可以声明各种类型的变量,如 ...
以下是对Oracle全文检索实例的详细解释: 1. **用户与角色配置**: - `tls4cs` 是一个应用程序用户,用于执行全文检索操作。 - `CTXSYS` 是Oracle Text的系统用户,拥有所有Oracle Text对象的所有权,通常被锁定...
- 用户定义函数:创建自定义函数,实现特定业务逻辑。 6. **触发器**: - 触发器是响应特定数据库事件(如INSERT, UPDATE, DELETE)自动执行的程序,常用于实现业务规则的强制。 7. **视图**: - 视图作为虚拟...
4. 最后,通过`RAISE_APPLICATION_ERROR`函数抛出一个自定义的错误,阻止DDL操作的执行,告知用户只有在本地机器上才能执行DDL。 在示例的末尾,提到了其他两个触发器的创建语句。一个是针对`TableA`的行级触发器,...
4. **存储过程和函数**:创建和调用自定义的存储过程和函数,理解它们在数据库中的作用,以及如何传递参数和返回结果。 5. **触发器**:学习触发器的概念,如何在特定数据库事件(如INSERT,UPDATE,DELETE)发生时...
例如,在处理大量数据时,通过自定义函数可以更好地控制连接过程中的分隔符、最大长度等参数,从而实现更为精细的数据处理逻辑。此外,自定义函数还可以支持更复杂的数据结构和操作,以适应不同业务场景的需求。 ##...
再者,自定义函数是Oracle SQL中的另一个强大工具。通过自定义函数,我们可以扩展数据库的内置功能,实现特定业务逻辑。这些函数可以接收参数,进行计算,然后返回一个值。例如,2-2.sql和6-8.sql可能包含创建和调用...
《Oracle PLSQL实例精解(英文原书第4版)》是Oracle数据库开发领域的一本经典著作,专注于讲解PL/SQL编程语言的应用。PL/SQL是Oracle数据库系统中用于处理结构化查询语言(SQL)的编程环境,它扩展了SQL的功能,使...
10. 对象类型:介绍Oracle的对象编程,包括自定义类型、对象表和嵌套表。 11. 连接池和调度:探讨数据库连接管理和计划任务的设置。 12. 性能优化:提供一些最佳实践和技巧,帮助优化PL/SQL代码的执行效率。 通过这...
7. **排名和评分**: Oracle Text可以根据匹配度对结果进行排名,使用`CONTEXT`函数和`RANK()`运算符实现。你可以自定义排名规则,考虑因素如词频、位置等。 8. **优化性能**: 根据实际负载调整索引和查询性能,可能...