1

我已经尝试使用以下代码根据从光标获得的值打印每个或某些细节,但我不能,有人可以帮助我吗?

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;
4

2 回答 2

3

是的。如果要打印蚂蚁元素值。然后将元素值选择到变量中。

然后使用下面的一个打印元素值:

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;
于 2013-02-05T06:17:44.227 回答
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);

如果我理解您的问题,这应该满足您的要求。

于 2013-02-05T06:00:37.720 回答