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

Apa Nama Batasan Default di Oracle?

Masalah:

Anda ingin mengetahui nama default batasan dalam tabel di Oracle.

Contoh:

Dalam database kami, kami membuat dua tabel, country dan student , dengan batasan berikut:PRIMARY KEY (id kolom dalam tabel country dan student ), FOREIGN KEY (kolom country_id dalam tabel student ), DEFAULT (kolom name dalam tabel student ), UNIQUE (kolom name dalam tabel country dan kolom personal_number dalam tabel student ), dan CHECK (kolom age dalam tabel student ).

Solusi:

CREATE TABLE country (
id int NOT NULL primary key,
name varchar(100) UNIQUE
);

CREATE TABLE student (
id int NOT NULL primary key,
name varchar(100) DEFAULT 'UNKNOWN',
personal_number varchar(100) UNIQUE,
age int CHECK(age>15),
country_id int,
FOREIGN KEY(country_id) references country(id)
);

Mari kita tampilkan bagaimana Oracle menamai batasan tabel ini secara default. Gunakan kueri ini untuk melihatnya:

select CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME
from USER_CONSTRAINTS
where TABLE_NAME='STUDENT' OR TABLE_NAME='COUNTRY';

Ini hasilnya:

CONSTRAINT_NAME CONSTRAINT_TYPE TABLE_NAME
SYS_C007376 R PELAJARAN
SYS_C007366 P NEGARA
SYS_C007374 P PELAJARAN
SYS_C007367 U NEGARA
SYS_C007375 U PELAJARAN
SYS_C007372 C PELAJARAN

Diskusi:

Saat kami membuat tabel kami, kami menetapkan batasan untuk beberapa kolom. Namun, kami tidak menentukan nama untuk batasan ini, sehingga diberi nama secara default. Bagaimana nama default untuk batasan dihasilkan?

Di Oracle, nama batasan default dimulai dengan nama pengguna, diikuti dengan ‘_C ' dan nomor urut. Jenis batasannya adalah ‘C ’ (check ), ‘P ’ (kunci utama), ‘U ' (batasan unik), dan 'R ' (kunci asing). Semua nama batasan default dibuat sebagai ‘SYS ’, ‘_ ', dan nomornya. Anda dapat melihat nama default pada tabel di atas. Misalnya, CHECK batasan untuk usia kolom di student tabel memiliki nama SYS_C007372 .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 Cara Mengembalikan Baris yang Hanya Mengandung Karakter Alfanumerik di Oracle

  2. Bagaimana cara memilih penyedia Oracle untuk aplikasi .Net?

  3. Masukkan CLOB ke dalam database Oracle

  4. ORA-01034:ORACLE tidak tersedia ORA-27101:ranah memori bersama tidak ada

  5. persyaratan opatch