【发布时间】:2018-07-08 18:16:27
【问题描述】:
我对 pl/sql 很陌生,无法运行此查询。
我希望它找到两个表之间的差异,然后输出这些事务的 ID。
任何帮助将不胜感激!
SET SERVEROUTPUT ON
DECLARE
diff_id varchar2(50);
diff_id2 varchar2(50);
BEGIN
FOR dcount IN
SELECT
O.transid ,
ABB.transid
into diff_id, diff_id2
FROM
(SELECT *
FROM O.transactions
AND abdate >= trunc(sysdate -3)
) O
FULL OUTER JOIN
(SELECT *
FROM ABB.transactions
AND abdate >= trunc(sysdate -3)
) ABB
ON O.transid = ABB.transid
LOOP
DBMS_OUTPUT.put_line (employee_rec.diff_id);
DBMS_OUTPUT.put_line (employee_rec.diff_id2);
END LOOP;
END;
【问题讨论】:
-
请添加两个表的一些示例数据以及您在谈论什么样的差异。还根据示例数据添加所需的结果。见here how to proper ask a good sql question
-
每个表中有 2 列,ID 和日期,我想要的输出将是不在两个表中的事务的 ID。即 375 和 480。
-
阅读我提供的文章,特别是 2 部分。提供背景 - 相关数据?尝试?
-
这不是查询。
-
您的 PL/SQL 在查询周围缺少括号。此外,自行运行查询(从
SELECT到ABB.transid)并检查结果。
标签: plsql oracle11g dbms-output