返回指定员工编号对应的员工姓名,例如: SELECT GET_ENAME(7369) FROM EMP; --自定义函数名称是:GET_ENAME 结果是:SMITH
时间: 2024-12-15 07:17:32 浏览: 2
Oracle数据库--存储过程、函数、触发器和包.pptx
在SQL中,如果你有一个包含员工信息的表(如EMP),并且需要通过员工编号获取姓名,通常我们会定义一个名为`GET_ENAME`的用户定义函数(User Defined Function,UDF)。以下是如何在Oracle SQL中创建这样一个函数的例子:
```sql
CREATE OR REPLACE FUNCTION GET_ENAME(p_employee_id IN NUMBER)
RETURN VARCHAR2 AS
v_ename VARCHAR2(50);
BEGIN
SELECT ename INTO v_ename FROM emp WHERE empno = p_employee_id;
IF SQLCODE = 0 THEN
RETURN v_ename;
ELSE
RETURN NULL; -- 或者抛出异常处理找不到的员工情况
END IF;
END GET_ENAME;
/
-- 现在你可以调用这个函数查询特定员工名
SELECT GET_ENAME(7369) FROM dual;
```
在这个示例中,`GET_ENAME`函数接收一个参数`p_employee_id`,从`emp`表中查找对应员工的姓名,并返回。
阅读全文