如何在 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 函数。

Oracle PL/SQL 函数创建及执行示例:查询员工姓名和部门名称

原文地址: https://www.cveoy.top/t/topic/nxU1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录