安装数据库教程:ApexOracleStudent数据库教程问题

关于安装数据库教程的问题,在oracle apex tutorial中经常遇到, 这有什么问题?或者有人可以帮助我理解这个代码想要做什么?

这有什么问题?或者有人可以帮助我理解这个代码想要做什么?

UPDATE copy_departments d
SET d.employee_name = (SELECT d.employee_name
FROM departments d
WHERE d.employee_name = d.department_id);
2

你得到的错误:

第 2 / 5 行出错:ORA-00904:"D." "EMPLOYEE_NAME":无效标识符

与此相关:

SQL> update copy_departments d
  2  set d.employee_name = (select d.employee_name
  3                         from departments d
  4                         where d.employee_name = d.department_id);
set d.employee_name = (select d.employee_name
    *
ERROR at line 2:
ORA-00904: "D"."EMPLOYEE_NAME": invalid identifier

这意味着目标表 (copy_department) 不包含名为employee_name的列。

除此之外:tablealiases在这里帮助我们阅读和理解查询。您的选择非常糟糕,因为您选择对两个表(departmentscopy_departments)使用相同的别名-d,因此我们真的不可能猜测哪个列属于哪个表。使用不同的别名

您问update试图做什么:它想将copy_departments表中的employee_name更新为1

从我的角度来看(请注意,我不知道你的表的描述),这样的事情可能更有意义:

update copy_departments c 
set c.employee_name = (select d.employee_name
                       from departments d
                       where d.department_id = c.department_id);

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(577)
软件编程网上学习:如何在CLR上学习IL(learn .net)
上一篇
卡萨帝c1hd12lz6clu1:"/usr/bin/ld:找不到-lz"
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(65条)