Alıntı akinkaraakin Nickli Üyeden Alıntı Mesajı göster
SQL Server'da char bazlı alanlar için (char, varchar vs) alana değer girip sonra sildiğinde değeri boş olarak atar, NULL olarak atmaz. Dolayısı ile boş değere izin verir. Sayısal bazlı alanlara ise (int, smallint vs) bir değer verdikten sonra gerek arayüzden gerekse T-SQL ifadesinden boş değer atanamaz, hata verir. Ancak NULL değer vererek değeri boşaltma söz konusudur. Ek not, SQL Management Studio içinde Edit Rows denilerek tablo açıldığında herhangi bir hücrenin içinde iken Ctrl+0 (sıfır) basılarak NULL verilebilir.

Onur Kulabaş
Cevabınız için teşekkür ediyorum.
Dediğinizde haklısınız, ms sql in davranısı ile oracle nin ki ayrılıyor burada.
Bir arkadaş check constraint koymamı tasviye etti. Artık hem alanı not null yapacağız, hem de check koyacağız çare yok.