Oracle OWA_TEXT
Version 21c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
Purpose Utitility procedures/functions for manipulating large amounts of text by the standard of 1995 when it was created.
AUTHID DEFINER
Data Types TYPE vc_arr IS TABLE OF VARCHAR2(32767) INDEX BY BINARY_INTEGER;

TYPE int_arr IS TABLE OF INTEGER INDEX BY BINARY_INTEGER;

TYPE multi_line IS RECORD (rows vc_arr, num_rows INTEGER, partial_row BOOLEAN);

TYPE row_list IS RECORD (rows int_arr, num_rows INTEGER);
Dependencies
DBMS_STANDARD HTP OWA_PATTERN
Documented No
First Available 8.1.7
Security Model Owned by SYS with EXECUTE granted to PUBLIC
Source {ORACLE_HOME}/rdbms/admin/pubtext.sql
{ORACLE_HOME}/rdbms/admin/privtext.sql
Subprograms
 
ADD2MULTI
Add a new lineto a multi_line structure owa_text.add2multi(
stream   IN     VARCHAR2,
mline    IN OUT multi_line,
continue IN     BOOLEAN DEFAULT TRUE);
DECLARE
 bot VARCHAR2(32767);
 ml  owa_text.multi_line;
BEGIN
  bot := 'this is a bunch of text that goes on and on and on ...';
  -- extend this to beyond 32K if you wish <g>

  owa_text.new_multi(ml);
  owa_text.add2multi(bot, ml, TRUE);
  owa_text.print_multi(ml);

  owa_util.showpage;
END;
/
 
NEW_MULTI
Make element routine

Overload 1
owa_text.new_multi RETURN multi_line;
TBD
Overload 2 owa_text.new_multi(mline OUT multi_line);
See ADD2MULTI Demo Above
 
NEW_ROW_LIST
Standard creation routine for row lists

Overload 1
owa_text.new_multi RETURN return row_list;
TBD
Overload 2 owa_text.new_multi(rlist OUT row_list);
TBD
 
PRINT_MULTI
uses HTP.PRINT to print out a multi-line structure procedure owa_text.print_multi(mline IN multi_line);
See ADD2MULTI Demo Above
 
PRINT_ROW_LIST
Print a row list using HTP.PRINT owa_text.print_row_list(rlist IN row_list);
TBD
 
STREAM2MULTI
Takes in a single stream of text and turns it into a multi_line structure owa_text.stream2multi(
stream IN  VARCHAR2,
mline  OUT multi_line);
DECLARE
 bot VARCHAR2(32767);
 ml  owa_text.multi_line;
BEGIN
  bot := 'this is a bunch of text that goes on and on and on ...';
  -- extend this to beyond 32K if you wish <g>

  owa_text.stream2multi(bot, ml);

  owa_text.print_multi(ml);

  owa_util.showpage;
END;
/

Related Topics
Built-in Functions
Built-in Packages
OWA
OWA_CUSTOM
OWA_CX
OWA_OPT_LOCK
OWA_SEC
OWA_UTIL
What's New In 21c
What's New In 23c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx