Oracle函数的创建,调用和删除
2017-04-19 00:00
260 查看
本教程介绍了如何使用函数的语法,并演示如何在 Oracle/PLSQL 中创建、使用和删除函数。
注:在Oracle中,函数与过程有什么不同? 函数有返回值,而过程没有返回值。
语法
在Oracle中创建函数的语法是:
创建过程或函数时,可以定义参数。 有三种类型的参数可以声明:
IN - 此类型参数可以由过程或函数引用。 参数的值不能被过程或函数覆盖(类似只读)。
OUT - 此类型参数不能由过程或函数引用,但参数的值可以被过程或函数覆盖(类似只写)。
IN OUT - 此类型参数可以由过程或函数引用,参数的值可以被过程或函数覆盖(类似读与)。
示例
我们来看一下如何在Oracle中创建一个函数的例子。以下是Oracle函数的简单示例:
此函数称为
在上面函数定义完成后,您可以在SQL语句中引用这个函数了,如下所示:
语法
在Oracle中删除函数的语法是:
示例
我们来看一下如何在Oracle中删除一个函数的例子。
执行上面代码后将删除
注:在Oracle中,函数与过程有什么不同? 函数有返回值,而过程没有返回值。
创建函数
就像在其他语言中一样,您可以在Oracle中创建自己的函数。语法
在Oracle中创建函数的语法是:
CREATE [OR REPLACE] FUNCTION function_name [ (parameter [,parameter]) ] RETURN return_datatype IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [function_name];
创建过程或函数时,可以定义参数。 有三种类型的参数可以声明:
IN - 此类型参数可以由过程或函数引用。 参数的值不能被过程或函数覆盖(类似只读)。
OUT - 此类型参数不能由过程或函数引用,但参数的值可以被过程或函数覆盖(类似只写)。
IN OUT - 此类型参数可以由过程或函数引用,参数的值可以被过程或函数覆盖(类似读与)。
示例
我们来看一下如何在Oracle中创建一个函数的例子。以下是Oracle函数的简单示例:
CREATE OR REPLACE Function FindCourse ( name_in IN varchar2 ) RETURN number IS cnumber number; cursor c1 is SELECT course_number FROM courses_tbl WHERE course_name = name_in; BEGIN open c1; fetch c1 into cnumber; if c1%notfound then cnumber := 9999; end if; close c1; RETURN cnumber; EXCEPTION WHEN OTHERS THEN raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM); END;
此函数称为
FindCourse。 它有一个名为
name_in的参数,它返回一个数字。 如果找到基于课程名称(
course_name)的匹配项,该函数将返回课程编号,否则返回
99999。
在上面函数定义完成后,您可以在SQL语句中引用这个函数了,如下所示:
SELECT course_name, FindCourse(course_name) AS course_id FROM courses WHERE subject = '数学';
删除函数
在Oracle中创建函数后,您可能会根据需要将其从数据库中删除。语法
在Oracle中删除函数的语法是:
DROP FUNCTION function_name;
function_name- 要删除的功能的名称。
示例
我们来看一下如何在Oracle中删除一个函数的例子。
DROP FUNCTION FindCourse;
执行上面代码后将删除
FindCourse函数。
相关文章推荐
- 在Sql server数据库中,关于触发器的创建、调用及删除
- MySQL 存储过程 创建 查看 调用 删除
- 存储过程的创建、调用与删除
- FreeIPA创建删除用户时,调用自定义脚本
- oracle 用bat批处理调用.sql文件,创建或删除用户,给用户赋DBA权限,导入导出用户表
- mysql5存储过程入门:创建,删除,调用详解
- mysql存储过程的创建,删除,调用及其他常用命令
- MySQL 存储过程 创建 查看 调用 删除
- mysql存储过程的创建,删除,调用及其他常用命令
- mysql存储过程的创建,删除,调用及其他常用命令
- 调用hadoop api实现文件的上传、下载、删除、创建目录和显示功能
- mysql存储过程的创建,删除,调用及其他常用命令(转)
- pSOS&Win32--系统调用封装-任务管理(1): 创建 删除 取得
- MySQL PLSQL Demo - 001.创建、调用、删除过程
- 存储过程第一讲:存储过程的创建,删除,修改,调用,查看
- orcle 根据时间 动态删除原表数据,调用动态创建表函数。插入新表数据
- 7种文件类型的创建与删除(系统调用)
- 触发器的创建、修改、删除以及调用
- mysql存储过程的创建,删除,调用及其他常用命令
- mysql 存储过程--- 创建,调用,删除