sql - 参数不能在选择语句中使用
问题描述
我有一项任务要解决。
创建一个函数,该函数根据employee_id返回员工所在部门的名称(department_name)。
如果员工没有被分配到部门,则处理这种情况。
使用在 SQL 语句中创建的函数。列出employee_id 160 的名字和姓氏、开始日期和部门名称。
我有这个,但有一个错误:表达式“EMP_ID”不能用作 SELECT / FETCH 语句的 INTO 目标。
我究竟做错了什么?
create or replace function oddelenie(emp_id in employees.employee_id%type)
return varchar is dept_name departments.department_name%type;
begin
select employee_id, department_name into emp_id, dept_name
from employees join departments using (department_id);
return dept_name;
exception when no_data_found then
dbms_output.put_line('error');
end oddelenie;
谢谢你。
解决方案
只选择您需要的 - 部门名称。你会如何处理员工的身份证;你已经知道了,你把它作为参数传递了。
create or replace function oddelenie
(par_emp_id in employees.employee_id%type)
return varchar2
is
l_dept_name departments.department_name%type;
begin
select department_name
into l_dept_name
from employees join departments using (department_id)
where employee_id = par_emp_id;
return dept_name;
exception when no_data_found then
return 'error';
end oddelenie;
推荐阅读
- lua - ServerScriptService.DataStore:41:预期的“结束”(在第 31 行关闭“功能”),得到
- sql - 错误:在插入数据时用作表达式的子查询返回多行
- flutter - 如何将点击列表项添加到 Favorite_Item_Page
- python - VS Code 中的 Python:我可以在集成终端中运行单元格吗?
- javascript - 下划线主题与 Webpack 未能构建
- jira - Jira 中后功能的执行顺序看起来不正确
- xml-parsing - publicId 和 systemId 之间需要空格,但 XML 看起来没问题
- python-3.x - 如何以异步方式执行 ZeroMQ PUSH/PULL 原型?
- python - bittorrent 对等线下载元数据,bdecode 失败
- laravel - fetch-blob-not post image not wroking with Laravel api - 反应原生