Forum

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

veri alanı kısıtlaması

Ahmet YURUK
(@ahmetyuruk)
Üye

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 ? 

Alıntı
Konu başlatıcı Gönderildi : 09/12/2013 16:27
oldmember
(@yavuzfilizlibay)
Üye

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'

 

CevapAlıntı
Gönderildi : 09/12/2013 16:56
Ahmet YURUK
(@ahmetyuruk)
Üye

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 ?

[quote user="Yavuz Filizlibay"]

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'

 

[/quote]

CevapAlıntı
Konu başlatıcı Gönderildi : 09/12/2013 18:07
oldmember
(@yavuzfilizlibay)
Üye

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'

CevapAlıntı
Gönderildi : 09/12/2013 18:29
Ahmet YURUK
(@ahmetyuruk)
Üye

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'.

  

 

[quote user="Yavuz Filizlibay"]

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'

[/quote]

CevapAlıntı
Konu başlatıcı Gönderildi : 09/12/2013 19:48
oldmember
(@yavuzfilizlibay)
Üye

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] 

CevapAlıntı
Gönderildi : 10/12/2013 00:43
Ahmet YURUK
(@ahmetyuruk)
Üye

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

 

[quote user="Yavuz Filizlibay"]

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] 

[/quote]

CevapAlıntı
Konu başlatıcı Gönderildi : 16/12/2013 13:23
oldmember
(@yavuzfilizlibay)
Üye

Rica ederim, kolay gelsin.

CevapAlıntı
Gönderildi : 16/12/2013 13:29
Paylaş: