Skip to main content

Use record type as an OUT parameter in Oracle PL/SQL Stored Procedure

ObjectiveHow to print record type values in Oracle PL/SQL .
Solution:

Step 1: Create package fxgn_sample_pkg.

DROP PACKAGE fxgn_sample_pkg;

create or replace
  PACKAGE fxgn_sample_pkg
    as
        TYPE fxgn_sample_rectype IS RECORD (p_name varchar2(40),         
                                                                                     p_emp_id number
                                                                                    );

        type fxgn_sample_table_rectype is table of fxgn_sample_rectype;

        procedure fxgn_sample_prc (fxgn_sample_table_rec1 OUT fxgn_sample_table_rectype                                                                            );
END fxgn_sample_pkg;
/

create or replace
  PACKAGE BODY fxgn_sample_pkg
    AS
      PROCEDURE fxgn_sample_prc(fxgn_sample_table_rec1 OUT fxgn_sample_table_rectype)
        IS
           BEGIN
               SELECT  ename,
                               empno
                   BULK COLLECT
                    INTO fxgn_sample_table_rec1
                  FROM  emp;
      END fxgn_sample_prc;
 END fxgn_sample_pkg ;

Step 2: Calling fxgn_sample_pkg.fxgn_sample_proc.

SET serveroutput ON;

DECLARE
  l_table_rec_type fxgn_sample_pkg.fxgn_sample_table_rectype;
BEGIN
  dbms_output.put_line('Calling fxgn_sample_pkg.fxgn_sample_prc');
  fxgn_sample_pkg.fxgn_sample_prc(l_table_rec_type);
  
  FOR l_rec IN 1..l_table_rec_type.count
  LOOP
    dbms_output.put_line ('Employee Details: ' || l_table_rec_type(l_rec).p_name ||' ['||l_table_rec_type(l_rec).p_emp_id||']' );
  END LOOP;
END;

Output:
That's it.

Comments

Popular posts from this blog

Printing Page Numbers in RTF Template [Oracle BI Publisher]

Here I am giving an example to print the page numbers dynamically in the RTF (Rich Text Format) template. Step 1:  Go to page footer and copy and paste the below script. Page |  <?fo:page-number?>  of  <?fo:page-number-citation:xdofo:lastpage-joinseq?> <fo:page-number> :   This is the object, which is used to represent the current page-number. <?fo:page-number-citation:xdofo:lastpage-joinseq?> :  This is the syntax, which is used to represent the total number of pages. Step 2:  Load the XML and preview the result. Output: That's it. References: fo:page-number Printing Page Number Code in Oracle XMLP RTF Template

Oracle Application Express Views (APEX)

Application Express Views Search SELECT * FROM apex_dictionary WHERE column_id = 0; View Comment Parent View APEX_APPLICATIONS Applications defined in the current workspace or database user. APEX_WORKSPACES APEX_APPLICATION_ALL_AUTH All authorization schemes for all components by Application APEX_APPLICATIONS ...

Save Selected Interactive Grid Records into a Collection - Oracle APEX

Here I am giving an example to save selected interactive grid records into a oracle apex collection. Step 1: Create a new blank page. Note: Mine was page 20. You will need to update reference to " P20 " with your page number if it's different. Step 2: Create a new interactive grid report region to the page using below query. Set Static Id "EmpDetails" to the region. SELECT  *     FROM   ( SELECT  emp . empno ,                emp . ename ,                emp . JOB ,                dept . dname department ,                dept . loc  LOCATION ,                mgr . ename  ...