我已尝试使用以下代码根据光标所得的值打印每个或一些细节,但我不能,有人可以帮助我吗?
set serveroutput on
declare
d_id number;
temp_tab VARRAY;
cursor c1 is select * from(select d.department_ID, `enter code here`d.department_name,count(d.department_name) cnt from employees e,departments d where e.department_id=d.department_id group by d.department_ID, d.department_name) where cnt>=5;
begin
open c1;
for i in c1
loop
select e.first_name,d.department_id,d.department_name into temp_tab from employees e,departments d where d.department_id=i.department_ID;
end loop;
close c1;
end;
答案 0 :(得分:3)
是。如果要打印ant元素值。然后在变量中选择元素值。
然后使用下面的一个来打印元素值:
dbms_output.put_line('Variable value= ' || Variable_name );
在您的代码中,您正在使用集合变量并将值提取到集合中。 然后打印对象元素:
dbms_output.put_line('First Name :'||object_name.first_name);
如果你在PLSQL中使用记录变量。然后使用下面的方法:然后声明记录类型变量然后获取到该变量然后显示variable.column,
DECLARE
TYPE t_name IS RECORD(
first_name employees.first_name%TYPE,
last_name employees.last_name%TYPE
);
r_name t_name; -- name record
n_emp_id employees.employee_id%TYPE := 200;
BEGIN
SELECT first_name,
last_name
INTO r_name
FROM employees
WHERE employee_id = n_emp_id;
-- print out the employee's name
DBMS_OUTPUT.PUT_LINE(r_name.first_name || ',' || r_name.last_name );
END;
答案 1 :(得分:0)
使用您的字段(e.first_name,d.department_id,d.department_name)创建一个Oracle对象,这里是链接:http://docs.oracle.com/cd/B19306_01/appdev.102/b14260/adobjint.htm
然后选择您的查询进入此对象。让我们说对象名是my_object。然后打印对象元素。
dbms_output.put_line('First Name :'||my_object.first_name||' Department: '||my_object.department_id||' Department Name: ' || my_object.department_name);
如果我理解你的问题,这应该是你要求的。