0

我有一个少于 15 条记录的员工表,表有以下三列

EmpId Emp_name department

我想按用户获取索引值。根据这个索引值,plsql 代码块从 Employee 表中 1 和用户放置的索引之间的记录中获取名字值,并将其转换为表索引结构。

1- Emp 1
2- Emp 2
3- Emp 3
4- Emp 4

我试图通过仅考虑数组索引作为搜索条件来使用 plslq 数组来完成它。

4

1 回答 1

0

我已经尝试过这样的事情并且效果很好

DECLARE
    TYPE r_emp_type IS RECORD(
        emp_name employee.FNAME%TYPE
    ); 

    TYPE t_emp_type IS VARRAY(100) 
        OF r_emp_type;
    
    t_employee t_emp_type := t_emp_type();

    CURSOR c_emp IS 
        SELECT fname 
        FROM employee;
BEGIN
--    -- fetch data from a cursor
    FOR r_customer IN c_emp LOOP
        t_employee.EXTEND;
        t_employee(t_employee.LAST).emp_name := r_customer.fname;
    END LOOP;

    -- show all customers
    FOR l_index IN t_employee.FIRST..'&indexbyuser'
    LOOP
        dbms_output.put_line(t_employee(l_index).emp_name);
    END LOOP;

END;
/
于 2020-06-24T17:55:03.023 回答