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

Friendly URL: Redirect to Different Page after Login in Oracle APEX 20.1

Oracle has updated apex.oracle.com to APEX 20.1 which includes among other features the new Friendly URL option. Here i am giving an example to redirect to different page after login in Oracle APEX 20.1 [Friendly URL Enabled] Step 1: Define home page for each user in emp master table as below Step 2: To enable Friendly URL Syntax, follow below steps, 1) On the Workspace home page, click the App Builder icon. 2) Select an application (The Application home page appears). 3) From Application home page, you can access the Definition page in TWO ways: Click the Edit Application Properties button. From Shared Components:              1) Click Shared Components .              2) Under Application Logic, click Application Definition Attributes . The Definition page appears. 4) Under Properties, configure the Friendly URL s attribute: Click Apply Changes to save your ch...

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  ...