我是sql的新手,所以我需要帮助才能理解这一点。
我有3张桌子: -
表1: - 员工编号。 员工姓名 为person_id
表2: - 联系号码。 为person_id
表3: - 地址 为person_id
我尝试创建一个包并使用一个过程来定义游标。现在我想使用连接从表中显示联系人号码,地址和号码。我已经应用了连接条件,但我无法理解如何显示结果。
包装正文
create or replace package pacakge_name
as
procedure procedure_name
declare
cursor cur_name is select * from table1 join table2 on table1.person_id=table2.person_id join table 3 on table1.person_idd=table3.id;
var_curname cur_name%rowtype;
begin
open cur_name;
loop
fetch cur_name into var_curname
exit
when cur_name%NOTFOUND;
end loop;
close cur_name;
end;
答案 0 :(得分:1)
要向控制台显示结果,您必须dbms_output.put_line(var_curname.fieldname);
这将是您的光标查询:
select table2.contact_no,
table3.address,
table1.employee_no
from
table1,
table2,
table3
where table1.person_id = table2.person_id and
table2.person_id = table3.person_id
所以你的dbms_output.put_line将是
dbms_output.put_line(var_curname.contact_no||'-'||var_curname.address||'-'||var_curname.employee_no);