【发布时间】:2018-05-02 15:21:12
【问题描述】:
我有一张桌子 ABC。在这个表中,基于 AGE,我需要找到 Duplicates,对于那些重复的记录,我需要在 dbms_output.put_line 中选择一些列。
DECLARE
CURSOR C_AGE IS
SELECT AGE FROM ABC
GROUP BY AGE
HAVING COUNT(1)>1 ;
BEGIN
FOR RECS IN C_AGE
LOOP
DBMS_OUTPUT.PUT_LINE (recs.age);
END LOOP;
end;
在上面的代码中,我需要在输出中显示 ID、名称、AGE 列,而不是显示 AGE。 请建议。
以下是相同的替代选择语句。但我不想使用子查询。 Bcoz in Prod 我有一张沉重的桌子,我想在其中应用相同的逻辑。 所以需要带光标。
select ID,Name,AGE from abc where age in (
SELECT age FROM ABC
GROUP BY AGE
HAVING COUNT(1)>1);
【问题讨论】: