Er du sikker på, at columnRandom er tal(38,0)? I orakel NUMMER !=NUMMER(38,0)
Lad os lave to tabeller.
opret tabel src_table ( et tal); opret tabel src_table2( et tal(38,0)); vælg kolonnenavn, data_præcision, Data_scale fra user_tab_cols hvor tabelnavn som 'SRC_TABLE%';
Resultatet af forespørgslen er. Definitioner af kolonne er forskellige.
+-------------+----------------+------------ +| Kolonne_navn | Data_præcision | Data_scale |+-------------+----------------+-----------+| A | | || A | 38 | 0 |+-------------+----------------+------------+
Og hvis jeg prøver at skabe en klynge til det første bord.
CREATE TABLE Table_clusterCLUSTER myLovelyCluster (a)AS SELECT * FROM src_table;
ORA-01753:kolonnedefinition inkompatibel med klyngekolonnedefinition
For 2. er alt ok.
CREATE TABLE Table_clusterCLUSTER myLovelyCluster (a)AS SELECT * FROM src_table2;
Hvis du tilføjer cast til vælg. Udførelsen er også korrekt.
CREATE TABLE Table_cluster CLUSTER myLovelyCluster (a)AS SELECT cast(a som nummer(38,0)) FRA src_table;