Oracle PL/SQL 函数创建及执行示例:查询员工姓名和部门名称
如何在 Oracle 数据库中创建 PL/SQL 函数查询员工姓名和部门名称
本文将演示如何在 Oracle 数据库中创建 PL/SQL 函数,用于查询给定员工编号的员工姓名和所在部门名称。
创建函数
首先,您可以使用以下代码创建名为 get_emp_dept_name 的函数,该函数接收员工编号作为参数,并返回一个包含员工姓名和部门名称的字符串:
CREATE OR REPLACE FUNCTION get_emp_dept_name(empno IN NUMBER)
RETURN VARCHAR2
AS
emp_name VARCHAR2(50);
dept_name VARCHAR2(50);
BEGIN
SELECT e.ename, d.dname
INTO emp_name, dept_name
FROM scott.emp e, scott.dept d
WHERE e.empno = empno AND e.deptno = d.deptno;
RETURN emp_name || ' - ' || dept_name;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 'No data found for employee ' || empno;
END;
查看函数创建结果
您可以使用以下语句来查看函数是否创建成功:
SHOW ERRORS FUNCTION get_emp_dept_name
如果函数被成功创建,您将看到一个空的错误列表。
执行函数
要执行该函数并查看结果,您可以使用以下语句:
SELECT get_emp_dept_name(7369) FROM DUAL;
这将返回一个包含员工姓名和所在部门的名称的字符串,例如:'SMITH - RESEARCH'。如果该函数无法找到给定员工编号的记录,则会返回相应的错误消息。
注意事项
- 该函数仅适用于具有相同员工编号的记录同时存在于
scott.emp表和scott.dept表中的情况。 - 如果数据不完整或不存在,则会返回适当的错误消息。
希望本文能够帮助您理解如何在 Oracle 数据库中创建和执行 PL/SQL 函数。
原文地址: https://www.cveoy.top/t/topic/nxU1 著作权归作者所有。请勿转载和采集!