【发布时间】:2021-08-20 09:14:50
【问题描述】:
我是 pl/sql 的新手,我被卡住了。我有一个由 3 列组成的表:package_uid、csms_package_id 和 flag。前两列已填满,第三列为空。当以过程比较该表和另一个表中的 package_id-s 的方式调用过程时,标志列被填充,如果它们匹配,则标志应为“是”。这是我的代码:
DECLARE
package_uid varchar2(256);
CURSOR abc IS SELECT csms_package_id, PACKAGE_UID, FLAG FROM table1 tpc;
CURSOR defg IS SELECT package_id FROM table2 tpc2;
BEGIN
for i in abc loop
for j in defg loop
begin
if i.CSMS_PACKAGE_ID=j.package_id THEN
i.flag := 'YES' ;
DBMS_OUTPUT.PUT_LINE(i.flag);
end if;
end;
end loop;
end loop;
end;
输出写入“是”正确次数,但我的表未使用“是”值更新。如何更新表中的标志值?
【问题讨论】:
标签: sql oracle plsql plsql-package