Oracle存储过程与函数是Oracle数据库中非常重要的组成部分,它们可以帮助我们简化复杂的业务逻辑,提高代码的重用性和可维护性,本文将详细介绍Oracle存储过程与函数的使用教程。
存储过程
1、存储过程简介
存储过程是一种在数据库中存储的预编译的SQL语句集合,它可以接收输入参数、执行逻辑处理并返回输出参数,存储过程可以提高代码的重用性、安全性和性能。
2、创建存储过程
创建存储过程的语法如下:
CREATE [OR REPLACE] PROCEDURE procedure_name [(parameter1 [IN | OUT | IN OUT] datatype, ...)] IS -声明局部变量 BEGIN -执行逻辑处理 -输出参数赋值 END; /
创建一个名为add_employee
的存储过程,用于向employees
表中插入一条记录:
CREATE OR REPLACE PROCEDURE add_employee (p_id IN employees.id%TYPE, p_name IN employees.name%TYPE, p_age IN employees.age%TYPE) IS BEGIN INSERT INTO employees (id, name, age) VALUES (p_id, p_name, p_age); COMMIT; END; /
3、调用存储过程
调用存储过程的语法如下:
EXECUTE procedure_name (parameter1, ...);
调用add_employee
存储过程,向employees
表中插入一条记录:
EXECUTE add_employee (1, '张三', 25);
4、修改存储过程
修改存储过程可以使用ALTER
语句,语法如下:
ALTER PROCEDURE procedure_name [(parameter1 [IN | OUT | IN OUT] datatype, ...)] IS -声明局部变量 BEGIN -执行逻辑处理 -输出参数赋值 END; /
修改add_employee
存储过程,添加一个新的输入参数p_salary
:
ALTER PROCEDURE add_employee (p_id IN employees.id%TYPE, p_name IN employees.name%TYPE, p_age IN employees.age%TYPE, p_salary IN employees.salary%TYPE) IS BEGIN INSERT INTO employees (id, name, age, salary) VALUES (p_id, p_name, p_age, p_salary); COMMIT; END; /
函数
1、函数简介
函数是一种在数据库中存储的预编译的SQL语句集合,它可以接收输入参数并返回一个值,函数可以提高代码的重用性、安全性和性能。
2、创建函数
创建函数的语法如下:
CREATE [OR REPLACE] FUNCTION function_name (parameter1 [IN | OUT | IN OUT] datatype, ...) RETURN return_datatype IS -声明局部变量 BEGIN -执行逻辑处理并返回结果 END; /
创建一个名为get_employee_salary
的函数,用于查询employees
表中指定员工的薪水:
CREATE OR REPLACE FUNCTION get_employee_salary (p_id IN employees.id%TYPE) RETURN employees.salary%TYPE IS v_salary employees.salary%TYPE; BEGIN SELECT salary INTO v_salary FROM employees WHERE id = p_id; RETURN v_salary; END; /
3、调用函数
调用函数的语法如下:
variable := function_name (parameter1, ...);
调用get_employee_salary
函数,查询员工ID为1的薪水:
DECLARE v_salary employees.salary%TYPE; v_salary := get_employee_salary (1); DBMS_OUTPUT.PUT_LINE('员工ID为1的薪水为:' || v_salary);
4、修改函数(同存储过程)
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/352795.html