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

Masalah Pembuatan Kunci Asing di Oracle

Saat Anda menambahkan FK, Anda menautkan kolom sebagai anak dari tabel yang Anda buat, ke induknya dari tabel induk. Oleh karena itu, Anda perlu memberikan nama kolom anak, serta nama kolom induk.

Sintaks umumnya adalah

CREATE TABLE table_name
(
  column1 datatype null/not null,
  column2 datatype null/not null,
  ...

  CONSTRAINT fk_column
    FOREIGN KEY (column1, column2, ... column_n)
    REFERENCES parent_table (column1, column2, ... column_n)
);

Perhatikan bahwa kolom di antara FOREIGN KEY kurung, berasal dari tabel yang Anda buat, sedangkan kolom di antara REFERENCES PARENT_TABLE berasal dari tabel induk.

Anda tidak memiliki kolom bernama CollectibleNum diDiecastItems . Anda . Oleh karena itu, berikut ini berfungsi dengan baik dengan menambahkan kolom seperti itu:

CREATE TABLE collectibles 
  ( 
     collectiblenum NUMBER(10) NOT NULL, 
     CONSTRAINT collectibles_pk PRIMARY KEY(collectiblenum) 
  ); 

CREATE TABLE diecastitems 
  ( 
     diecastname    VARCHAR2(45) NOT NULL, 
     diecastcopy    NUMBER(2) NOT NULL, 
     diecastscale   VARCHAR2(25), 
     colorscheme    VARCHAR2(25), 
     diecastyear    NUMBER(4), 
     collectiblenum NUMBER(10),   --added column
     CONSTRAINT diecastitem_pk PRIMARY KEY(diecastname, diecastcopy), 
     CONSTRAINT diecastitem_collectible_fk FOREIGN KEY(collectiblenum) 
     REFERENCES collectibles(collectiblenum) 
  ); 

FIDDLE




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pivot dinamis di Oracle sql

  2. Cara Mengembalikan Daftar Bahasa yang Didukung di Oracle

  3. REMAINDER() Fungsi di Oracle

  4. 2 Cara Mendapatkan Jumlah Hari dalam Sebulan di Oracle

  5. Pernyataan Disiapkan dan setTimestamp di Oracle jdbc