Oracle ODM_MODEL_UTIL
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai is now availble. If you haven't you downloaded already: Why?
Purpose Data Mining Model Utilities
AUTHID CURRENT_USER
Dependencies
DBMS_ASSERT DBMS_DM_MODEL_EXP DBMS_STANDARD
DBMS_DATA_MINING DBMS_DM_MODEL_IMP DMP_SEC
DBMS_DATA_MINING_INTERNAL DBMS_LOB DMP_SYS
DBMS_DATA_MINING_TRANSFORM DBMS_PREDICTIVE_ANALYTICS DMUTIL_LIB
DBMS_DM_EXP_INTERNAL DBMS_SQL ODM_UTIL
Documented No
First Available Not Known
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/prvtdmmi.plb
Subprograms
 
CHOP_UP
Undocumented odm_model_util.chop_up(
p_short_stmt IN     VARCHAR2,
p_long_stmt  IN OUT sys.dbms_sql.varchar2s,
p_long_count IN OUT BINARY_INTEGER);
TBD
 
CLOB_TO_EXPRESSION_REC
Undocumented odm_model_util.clob_to_expression_rec(p_clob IN CLOB)
RETURN sys.dbms_data_mining_transform.expression_rec;
TBD
 
DM_ENABLED_CHECK
Undocumented odm_model_util.dm_enabled_check;
exec odm_model_util.dm_enabled_check;
 
EXPRESSION_REC_TO_CLOB
Undocumented odm_model_util.expression_rec_to_clob(
p_expr IN sys.dbms_data_mining_transform.expression_rec)
RETURN CLOB;
TBD
 
TABLE_EXIST
Returns TRUE if a table exists, else FALSE

Calls DBMS_ASSERT to validate the name.
odm_model_util.table_exist(p_table_name IN VARCHAR2) RETURN BOOLEAN;
BEGIN
  IF odm_model_util.table_exist('SYS.TAB$') THEN
    dbms_output.put_line('Exists');
  ELSE
    dbms_output.put_line('Not Found');
  END IF;
END;
/
*
ORA-44003: invalid SQL name
ORA-06512: at "SYS.DBMS_ASSERT", line 190

BEGIN
  IF odm_model_util.table_exist('TAB$') THEN
    dbms_output.put_line('Exists');
  ELSE
    dbms_output.put_line('Not Found');
  END IF;
END;
/
Exists

PL/SQL procedure successfully completed.
 
UPCASE
Upper cases a string.

There are multiple examples of Oracle not using the UPPER function ... but no available explanation as to why some developers feel compelled to reinvent the wheel.
odm_model_util.upcase(
p_out_name OUT VARCHAR2,
p_in_name  IN  VARCHAR2);
DECLARE
 iVal dbms_id := 'Morgan';
 oVal dbms_id;
BEGIN
  odm_model_util.upcase(oVal, iVal);
  dbms_output.put_line(oVal);
END;
/
MORGAN

PL/SQL procedure successfully completed.
 
VIRTUAL_NESTED_XFORM
Undocumented odm_model_util.virtual_nested_xform(
p_expr IN sys.dbms_data_mining_transform.expression_rec
RETURN BOOLEAN;
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
DBMS_DATA_MINING
DBMS_DATA_MINING_INTERNAL
DBMS_DATA_MINING_TRANSFORM
DMP_SEC
DMP_SYS
What's New In 21c
What's New In 26ai

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