6 sonuçtan 1 ile 6 arası

Konu: Not Null Alan Boş geçilebiliyor.

  1. #1

    Standart Not Null Alan Boş geçilebiliyor.

    İyi günler, arkadaşlar.
    Aşağıdaki gibi bir tablo oluşturuyorum.
    CREATE TABLE [dbo].[Tecrube](
    [OKytNo] [int] IDENTITY(1,1) NOT NULL,
    [BosAlan] [varchar](100) NULL,
    [YaziDeger] [varchar](100) NOT NULL,
    [SayiDeger] [int] NOT NULL,
    CONSTRAINT [PK__Tecrube] PRIMARY KEY CLUSTERED
    (
    [OKytNo] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    Kayıt girerken YaziDeger ve SayiDeger alanlarına veri girişini mecbur tutuyor.
    Daha sonra kaydı düzenlerken YaziDeger alanını silip kaydedince bu sefer boş geçilmesine izin veriyor. SayiDeger alanı için ise izin vermiyor. Acaba varchar alanlar için özel bir durum mu var? Biz içindeki metni silince alanın, null olmuyor mu?
    Veya varchar alandarda düzenleme durumunda boşgeçilmesini engellemek için başka bir yöntem mi var?
     

  2. #2

    Standart

    şu yazıyı gözden geçirin isterseniz fikir verebilir:

    Mysql de varchar() ve text arasındaki fark nedir?

    Emre Aydın
    Emre Aydın
    MVP | Office 365 | Since 2006
    MCT | Since 2005
    MCSD | Azure Solutions Architect
    MCSE | Private Cloud, Messaging, Communication, Server Infrastructure, Productivity, Platform
    MCSA | Office 365, Server 2012, Cloud Platform
    MCTS | Developing Azure Solutions, Implementing Azure Infrastructure, Architecting Microsoft Azure Solutions, SAM
    P-Seller
    Intelligent Cloud | EMS
    Web : www.mshowto.org
    Mail : emre.aydin [@] mshowto.org
    Twitter : https://twitter.com/emreaydn
    Linkedin : tr.linkedin.com/in/emreaydn

  3. #3

    Standart

    Alıntı emreaydin Nickli Üyeden Alıntı Mesajı göster
    şu yazıyı gözden geçirin isterseniz fikir verebilir:

    Mysql de varchar() ve text arasındaki fark nedir?

    Emre Aydın
    Öncelikle ilginize teşekkür ediyorum.
    Bahsettiğiniz adresi inceledim, fakat bu konu ile ilgili bir yere rastlayamadım. İnş. gözümden kaçmamıştır.
     

  4. #4

    Standart

    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ş
     

  5. #5

    Standart

    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.
     

  6. #6

    Standart

    rica ederiz

    iyi çalışmalar
     

Yetkileriniz

  • Konu Açma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  
Hakkımızda
MSHOWTO, herhangi bir firma ya da kuruluş ile bağı olmayan bağımsız teknik bir topluluktur.
Sosyal Medya Linklerimiz