Accpt employee number from user fetch the employee details from the “Employee” table and store it to a PLSQL record type variable and print the same.
SET SERVEROUTPUT ON; DECLARE type emp_det is record ( emp_num number := &empnum, emp_name varchar2(150), emp_sal number, dept_id number ); emp_rec emp_det; BEGIN select employee_id, first_name, salary, department_id into emp_num, emp_name, emp_sal, dept_id from hr.employees where employee_id = &empnum; dbms_output.put_line('Employee Number :'||emp_rec.emp_num); dbms_output.put_line('Employee Number :'||emp_rec.emp_name); dbms_output.put_line('Employee Number :'||emp_rec.emp_sal); dbms_output.put_line('Employee Number :'||emp_rec.dept_id); END;
Advertisement
Answer
Here’s one option (if that’s what you’re looking for):
SQL> create or replace procedure p_test (par_empno in emp.empno%type) is 2 type emp_det is record (empno number, 3 ename varchar2(10), 4 sal number 5 ); 6 led emp_det; 7 begin 8 select empno, ename, sal 9 into led 10 from emp 11 where empno = par_empno; 12 13 dbms_output.put_line(led.empno ||': '|| rpad(led.ename, 10, ' ') || led.sal); 14 end; 15 / Procedure created. SQL> exec p_test(7369); 7369: SMITH 800 PL/SQL procedure successfully completed. SQL>