SQL Language (MOSC)

MOSC Banner

Why is it possible to create a partition on a table with character value with partition_key = NUMBER

"Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.16.0.0.0"

It is possible to create partitions with character value (with quotes), while the partition key is defined in number datatype. Why doesn't Oracle raise an error when the value is specified with the wrong datatype?

CREATE TABLE sales_list_part  

(  

  salesman_id  NUMBER(5)  NOT NULL,  

  salesman_name VARCHAR2(30),  

  sales_state  VARCHAR2(20) NOT NULL,  

  sales_amount NUMBER(10),  

  sales_date  DATE     NOT NULL,

  sales_dept  NUMBER(5)  NOT NULL 

)  

 PARTITION BY LIST (sales_dept) 

 (

 PARTITION PART_SALES_DEPT_10 VALUES ('10'), 

 PARTITION PART_SALES_DEPT_DEFAULT VALUES (DEFAULT)

);
Table SALES_LIST_PART created.
SELECT TABLE_NAME, PARTITION_NAME, HIGH_VALUE 

FROM USER_TAB_PARTITIONS WHERE TABLE_NAME ='SALES_LIST_PART'
/

Howdy, Stranger!

Log In

To view full details, sign in to My Oracle Support Community.

Register

Don't have a My Oracle Support Community account? Click here to get started.

Category Leaderboard

Top contributors this month

New to My Oracle Support Community? Visit our Welcome Center

MOSC Help Center