Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Definisi kolom tidak sesuai dengan definisi kolom berkerumun

Apakah Anda yakin bahwa kolomRandom adalah angka(38,0)? Di oracle NUMBER !=NUMBER(38,0)

Mari kita buat dua tabel.

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%';

Hasil query adalah. Definisi kolom berbeda.

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

Dan jika saya mencoba membuat cluster untuk tabel pertama.

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

ORA-01753: column definition incompatible with clustered column definition

Untuk 2-nd semuanya ok.

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

Jika Anda menambahkan cast ke pilih. Eksekusi juga benar.

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. Pertukaran berat di Oracle 12.1.0.2

  2. Konversi Int32 ke nomor Oracle (5) dengan EF4

  3. Kapan data dalam tabel sementara sesi Oracle akan dihapus?

  4. PL/SQL - jalankan langsung dalam fungsi pipelined

  5. Bagaimana saya bisa membersihkan koneksi mati menggunakan Oracle?