Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Definicja kolumny jest niezgodna z definicją kolumny klastrowanej

Czy jesteś pewien, że columnRandom to number(38,0)? W Oracle LICZBA !=LICZBA(38,0)

Stwórzmy dwa stoliki.

create table src_table ( a number);
create table src_table2( a number(38,0));

select column_name,data_precision,Data_scale from user_tab_cols where table_name like 'SRC_TABLE%';

Wynik zapytania to. Definicje kolumn są różne.

+-------------+----------------+------------+
| Column_name | Data_Precision | Data_scale |
+-------------+----------------+------------+
| A           |                |            |
| A           |             38 |          0 |
+-------------+----------------+------------+

A jeśli spróbuję stworzyć klaster dla pierwszego stołu.

CREATE TABLE Table_cluster
CLUSTER myLovelyCluster (a)
AS SELECT * FROM src_table ;

ORA-01753: column definition incompatible with clustered column definition

Dla 2-go wszystko jest w porządku.

CREATE TABLE Table_cluster
CLUSTER myLovelyCluster (a)
AS SELECT * FROM src_table2 ;

Jeśli dodasz obsadę do wybierz. Wykonanie również jest prawidłowe.

CREATE TABLE Table_cluster CLUSTER myLovelyCluster  (a)
AS SELECT cast(a as number(38,0)) FROM src_table;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepszy sposób na okresowe uruchamianie zapytań Oracle

  2. Konwertuj zapytanie SQL na użycie operatorów zbioru

  3. ORA-01795:maksymalna liczba wyrażeń na liście to 1000 , jak podzielić ciąg

  4. ORA-01830:obraz w formacie daty kończy się przed konwersją całego ciągu wejściowego / Wybierz sumę, w której zapytanie o datę

  5. Oracle SQL:wyodrębnianie tygodnia roku od daty daje losowe wyniki