Database

SQL Error: ORA-02293: Xətası haqqında

SQL Error: ORA-02293: cannot validate (object_name) – check constraint violated
Oracle-da alter və ya add constraint əmrini çalışdırdıqda alına bilən xətadır.

Xətanın səbəbi isə burdakı datanın constraintlə uyuşmamasıdır.

Məsələn:  Kateqoriya adlı cədvəl yaradaq və aşağıdakı sətri insert edək.

CREATE TABLE kateqoriya
(
   id              NUMBER,
   kateqoriya_ad   VARCHAR2 (50)
);

INSERT INTO kateqoriya (id, kateqoriya_ad)
     VALUES (1, 'Microsoft');

commit;

İndi isə yuxarıdakı cədvəl üçün aşağıakı constrainti çalışdırsaq, qeyd etdiyimiz xətanı alacağıq çünki, daha öncə kateqoriya adı üçün daxil etdiyimiz Microsoft sözü bizim check siyahısında yoxdur.

ALTER TABLE kateqoriya 
ADD CONSTRAINT kat_ad_ck CHECK 
(kateqoriya_ad IN ('Oracle','SQL', 'PL/SQL'));

Yuxarıdakı SQL-in nəticəsi tam olaraq aşağıdakı kimi xəta verəcəkdir:

Error starting at line : 9 in command –
alter table kateqoriya add constraint kat_ad_ck check (kateqoriya_ad in (‘Oracle’,’SQL’, ‘PL/SQL’))
Error report –
SQL Error: ORA-02293: cannot validate (SI_TEST.KAT_AD_CK) – check constraint violated
02293. 00000 – “cannot validate (%s.%s) – check constraint violated”
*Cause: an alter table operation tried to validate a check constraint to
populated table that had nocomplying values.
*Action: Obvious

Həmçinin Oxu:  Parolunu unutduğunuz Wordpress saytına daxil olmaq

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir