Forum

veri alanı kısıtlam...
 
Bildirimler
Hepsini Temizle

veri alanı kısıtlaması

4 Yazılar
1 Üyeler
0 Likes
1,014 Görüntüleme
(@ahmetyuruk)
Gönderiler: 115
Estimable Member
Konu başlatıcı
 

selam ;

 tabloda tarih girilen bir alan var. ben bu alanın belirli tarih aralığında kullanılmasını istiyorum. 

 örneğin - 01/01/2013 ile 31/12/2015 olsun.. bu tarihlerin dışında bu alana veri girilemesin.  nasıl yapabilirim ? 

 
Gönderildi : 09/12/2013 17:27

(@ahmetyuruk)
Gönderiler: 115
Estimable Member
Konu başlatıcı
 

Yavuz bey dediklerinizi aynen uyguladım,  expression bölümüne BETWEEN DATE '2013-01-01' AND '2015-12-31' yazdığımda "error validating constraint" diyor. tarih formatını vs değiştirerek denedim fakat olmadı. sorun nedir acaba ?

Merhaba 

Veritabanın design kısmına gelerek, ilgli column name sağ tıklıyorsunuz, Check constraits bölümünde Add diyerek istediğiniz tarih kısıtını koyabilirsiniz.

 Örnek olarak: 7 Aralık tarihinden büyük tarih seçilmesi için aşağıdaki gibi yazıyoruz.

KAYIT TARIHI > TO_DATE ('2013-12-07' ) 

Aralık istiyorsanız;

BETWEEN DATE '2013-01-01' AND '2015-12-31'

 

 
Gönderildi : 09/12/2013 19:07

(@ahmetyuruk)
Gönderiler: 115
Estimable Member
Konu başlatıcı
 

Bu sefer hata vermedi. Fakat table'i kaydederken hata verdi. Unable to add constraint "CK_musteri'

The alter table statement conflicted with the check contraint "CK_musteri" . The conflict occurred in database "DENEME", table "dbo.musteri", column 'dtetarih'.

  

 

Expression kısmına, alan adını da yazmanız gerekiyor, tarih alanının adını, tarih_alani diye farzediyorum;

 tarih_alani between '2013-01-01' and '2015-12-31'

 
Gönderildi : 09/12/2013 20:48

(@ahmetyuruk)
Gönderiler: 115
Estimable Member
Konu başlatıcı
 

Yavuz bey yardımlarınız için teşekkür ederim.  Öğrettikleriniz işe yaradı ve şu an çalışıyor. 

 

Siz bunu daha önce olan bir tabloda yapmak istiyorsunuz sanırım, ben yeni bir tablo dizayn ettiğinizi düşünmüştüm

Check constraits ekranında, Check existing data on creation or re-enabled ve Enforce for INSERTs and UPDATEs seçeneklerini no olarak işaretleyin, adventureworks deneme veritabanında bir tarih alanını değiştirdim ve kaydetti

[img] [/img] 

 
Gönderildi : 16/12/2013 14:23

Paylaş: