我想在PL / SQL中使用游标。 我想比较光标的元素。 例如,我有一个JOB表,这个表包含job_number,我想比较job_number,以查找此表中是否有相同的job_number
declare
jobisn job.job_number%type;
cursor c1 is
select t.job_isn
from job t;
begin
for i in c1 loop -- what should I code here ?
答案 0 :(得分:2)
你可以简单地使用本机sql来做到这一点。通过这样做,您可以知道该工作号码出现在该表上的次数:
select job_number, count(job_number) over(partition by job_number) from job;
答案 1 :(得分:1)
你可以用一个sql语句来实现这一点 -
select job_isn, count(*)
from job
group by job_isn
having count(*) > 1;
如果你想用光标做它(尽管它较慢而且不适合你的需要),只需在光标内运行这段代码 -
select count(*)
into v_num_jobs
from job
where job_isn = i.job_isn;
if v_num_jobs > 1 then
dbms_output.put_line(i.job_isn||' job has duplicates');
endif;