Sql'de check constraint' inde query yazma

byanigli

Hectopat
Katılım
3 Ocak 2014
Mesajlar
541
Yer
İzmir, Turkey, Turkey
Daha fazla  
Cinsiyet
Erkek
Meslek
student of software engineering
Merhabalar, hastaların kayıt olduğu bir tablom var, burada polikliniğine giriş yapan tüm hastalar tutulmakta. Kadın doğum Dr tutulduğu bir tablom var. Diğer tablom ise tüp bebek islerinin tutulduğu bir tablom var. Problemim ise tüpbebek tablosuna veri eklendiği zaman sadece kadınlar eklenmesini istiyorum. Onu aşağıdaki yöntem ile denediğimde syntax hatası alıyorum.

Hastakayıt (Tc_No, İsim, soyisim,cinsiyet)

Dr (Dr.lisans_No, İsim, .....)

Tupbebek (Tupbebek_id, Hasta_tc, DR.lisans, baslama_tarihi)

Create Table Tupbebek(
Tupbebek_id int auto_increment primary key,
Hasta_tc varchar(11) not null,
Baslama_tarihi date not null,
Uygulayan_Drlisans varchar(20) not null,

Constraint Fk_Tup_hasta foreign key (Hasta_Tc) refrences Hastakayıt (Tc_No) on update cascade , on delete no action,

Constraint Fk_Tup_Dr foreign key (Uygulayan_Drlisans) refrences Dr(Drlisans) on update cascade , on delete no action,

Check (

Hasta_tc in (Select tc_no from hastakayıt where cinsiyet = ''Kadın' )

) engine= InnoDB;

gibi düşündüm Check edemiyorum. Yani hasta kadın ise ancak tup bebek tablosuna kayıt olacak.
 
Tablo oluştururken Check sadece tablo içindeki kolonların sorgulanmasında kullanılıyor. Detaylı bilgi için bu sitelere göz atabilirsiniz.
Create Check Constraints
SQL CHECK Constraint

Yapmanız gereken Saklı Yordam (Stored Procedure) kullanıp kontrolü gerçekleştirmek ya da istemci ile veri tabanı arasında ara katman oluşturup bu katmanda kontrolü gerçekleştirmek.
 
Uyarı! Bu konu 9 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı