【发布时间】:2021-06-26 18:44:24
【问题描述】:
我有两个名为 emp_appointment 和 employees 的表。 Employees 有 2 列名为 EMPLOYEE_ID1 和 SUBSID_ACCOUNT_IDX 和表 emp_appointment 也有 2 列名为 dep_id 和 EMPLOYEE_ID1 我想用 employees 表的数据更新表 emp_appointment 列 dep_id来自SUBSID_ACCOUNT_IDX 列的两者都有相同的 id,所以我写了这段代码但没有工作
DECLARE
EMP_id EMPLOYEES.EMPLOYEE_ID1%TYPE;
SUBSID_ID EMPLOYEES.SUBSID_ACCOUNT_IDX%TYPE;
CURSOR C_EMP is
SELECT EMPLOYEE_ID1, SUBSID_ACCOUNT_IDX FROM EMPLOYEES WHERE SUBSID_ACCOUNT_IDX = EMPLOYEE_ID1 ;
BEGIN
OPEN C_EMP;
LOOP
FETCH C_EMP into EMP_id,SUBSID_ID ;
UPDATE EMP_APPOINTMENT
SET DEP_ID = SUBSID_ID
WHERE EMPLOYEE_ID1= SUBSID_ID;
EXIT WHEN C_EMP%notfound;
END LOOP;
CLOSE C_EMP;
END;
请大师帮忙
【问题讨论】:
-
如果您有一些无法运行的代码,告诉我们是什么,特别是您所看到的非常有帮助。你有错误吗?如果是这样,什么错误?是编译错误还是运行时错误?什么行号?什么是错误堆栈?或者它没有做你期望的事情?如果是这样,请告诉我们什么不起作用。类似“表 A 中有一行数据看起来像这样,表 B 中有一行数据看起来像这样。我运行此代码,我希望 B 被更新为看起来像这样,但它实际上看起来像那样”用什么数据。
-
@JustinCave Respected 它没有给我任何错误,也没有给我任何东西,只是程序完成消息,所以我有什么细节我通过了,谢谢你的关注
-
这是您应该包含的有用信息。这至少可以确认您的代码可以编译并运行。然后有人可以查看并注意到您的
where子句将employee_id与subsid_id进行比较,而不是可能是emp_id。
标签: oracle plsql oracle11g plsqldeveloper