General Information
Library Note
Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have?
Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx .
Purpose
Undocumented support for Data Mining
AUTHID
CURRENT_USER
Dependencies
DBMS_ASSERT
DBMS_DM_UTIL
DM$RQMOD_DETAILIMPL
DBMS_DATA_MINING
DBMS_PREDICTIVE_ANALYTICS
DMP_SEC
DBMS_DATA_MINING_TRANSFORM
DBMS_STANDARD
DMP_SYS
DBMS_DM_MODEL_EXP
DBMS_UTILITY
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
CLOB_LITERAL
Enapsulates a string in single quotes and prepends the literal "to_clob(null)||"
dm_qgen.clob_literal(p_val IN VARCHAR2) RETURN VARCHAR2;
DECLARE
pVC VARCHAR2(4000) := 'this is a test string';
rVC VARCHAR2(4000);
BEGIN
rVC := dm_qgen.clob_literal (pVC);
dbms_output.put_line(rVC);
END;
/
to_clob(null)||'this is a test string'
PL/SQL procedure successfully completed.
EXT_QUOTE
Seems to act as a NO-OP. Appears to make no changes to any string submitted
dm_qgen.ext_quote(p_val IN VARCHAR2) RETURN VARCHAR2;
DECLARE
retVal VARCHAR2(240);
BEGIN
retVal := dm_qgen.ext_quote ('"TE ST''');
dbms_output.put_line(retVal);
END;
/
SQLN2BND
Upper cases the string and returns it unchanged if the string passes internal tests of which one is that the string does not contain spaces
dm_qgen.sqln2bnd(p_val IN VARCHAR2) RETURN VARCHAR2;
DECLARE
retVal VARCHAR2(240);
BEGIN
retVal := dm_qgen.sqln2bnd ('TExST');
dbms_output.put_line(retVal);
END;
/
SQLN2LIT
Returns the string enclosed in single quotes
dm_qgen.sqln2lit(p_val IN VARCHAR2) RETURN VARCHAR2;
DECLARE
retVal VARCHAR2(240);
BEGIN
retVal := dm_qgen.sqln2lit ('TEST');
dbms_output.put_line(retVal);
END;
/
SQLN2QSQL
Appends dot sname to the value and encloses the combination in double quotes. Identical to DBMS_ASSERT.ENQUOTE_LITERAL.
dm_qgen.sqln2lit(
p_val IN VARCHAR2,
p_sname IN VARCHAR2)
RETURN VARCHAR2;
SQL> DECLARE
2 retVal VARCHAR2(240);
3 BEGIN
4 retVal := dm_qgen.sqln2qsql ('TEST', USER);
5 dbms_output.put_line(retVal);
6 END;
7 /
"TEST"."SYS"
SQLN2SQL
Returns a string enclosed in double quotes. Identical to DBMS_ASSERT.ENQUOTE_NAME.
dm_qgen.sqln2sql(p_val IN VARCHAR2) RETURN VARCHAR2;
DECLARE
retVal VARCHAR2(240);
BEGIN
retVal := dm_qgen.sqln2sql ('TEST');
dbms_output.put_line(retVal);
END;
/
TO_LITERAL
Undocumented
Overload 1
dm_qgen.to_literal(
p_val IN NUMBER,
p_paren_flag IN BOOLEAN)
RETURN VARCHAR2;
DECLARE
bf BOOLEAN := FALSE;
bt BOOLEAN := TRUE;
retVal VARCHAR2(30);
BEGIN
retVal := dm_qgen.to_literal (-1, bf);
dbms_output.put_line(retVal);
retVal := dm_qgen.to_literal (-1, bt);
dbms_output.put_line(retVal);
END;
/
Overload 2
dm_qgen.to_literal(
p_val IN BINARY_DOUBLE,
p_paren_flag IN BOOLEAN)
RETURN VARCHAR2;
DECLARE
bf BOOLEAN := FALSE;
bt BOOLEAN := TRUE;
retVal VARCHAR2(30);
BEGIN
retVal := dm_qgen.to_literal (-1, bf);
dbms_output.put_line(retVal);
retVal := dm_qgen.to_literal (-1, bt);
dbms_output.put_line(retVal);
END;
/
Overload 3
dm_qgen.to_literal(
p_val IN BINARY_FLOAT,
p_paren_flag IN BOOLEAN)
RETURN VARCHAR2;
DECLARE
bf BOOLEAN := FALSE;
bt BOOLEAN := TRUE;
retVal VARCHAR2(30);
BEGIN
retVal := dm_qgen.to_literal (-1, bf);
dbms_output.put_line(retVal);
retVal := dm_qgen.to_literal (-1, bt);
dbms_output.put_line(retVal);
END;
/
Overload 4
dm_qgen.to_literal(p_val IN VARCHAR2) RETURN VARCHAR2;
DECLARE
retVal VARCHAR2(30);
BEGIN
retVal := dm_qgen.to_literal ('This is essentially a NOOP');
dbms_output.put_line(retVal);
END;
/