Forum

Sql server tablo al...
 
Bildirimler
Hepsini Temizle

Sql server tablo alan değiştirme problemi.

11 Yazılar
3 Üyeler
0 Likes
7,703 Görüntüleme
(@SevalKaplan)
Gönderiler: 11
Active Member
Konu başlatıcı
 

 Sorgu sonucu oluşturduğum tabloda veri boyutu çok büyük. Ve ben tabloya yeni bir alan ekleyeceğim. Ama eklerken bana şu şekilde hata veriyor ;

"Cannot insert the value NULL into column 'No', table 'deneme.dbo.Tmp_buyuk'; column does not allow nulls. INSERT fails.
The statement has been terminated
."

Bu hatayı nasıl gidere bilirim ?

 

 
Gönderildi : 11/02/2014 11:56

(@kenanilgun)
Gönderiler: 544
Üye
 

Merhaba, Allow Nulls seçeneği ne durumda yeni açtığınız sütunun?

 
Gönderildi : 11/02/2014 19:05

(@SevalKaplan)
Gönderiler: 11
Active Member
Konu başlatıcı
 

allow nulls işaretli değil

 
Gönderildi : 11/02/2014 20:21

(@kenanilgun)
Gönderiler: 544
Üye
 

İşaretleyerek denediniz mi?

 
Gönderildi : 13/02/2014 23:19

(@SevalKaplan)
Gönderiler: 11
Active Member
Konu başlatıcı
 

Merhaba, 

Primary key kullanacağım için allow nulls direk işaretsiz geliyor.

Primary keysiz ve  allow nulls işaretli yada değil bunları denedim ama bana her tülü o hatayı veriyor.

Ve benim primary keyi koyup diğer tabloda inner join kullanarak sorgu yazacağım. Ama olmuyor.

 
Gönderildi : 17/02/2014 13:54

(@caglarozenc)
Gönderiler: 247
Reputable Member
 

Merhabalar, 

Tablonun yapısı nedir ? Hani Boş geçilemez bir alanı boş geçmeye çalıştığınız için yeni kayıt ekleyemiyorsunuz. Aşağıda verdiğim Script ile belirtilen DB üzerindeki tablonuzun kolon ( column ) özelliklerini kontrol edip insert cümlenizi incelemenizi öneririm.

 /* Aşağıdaki Script DBA veritabanı üzerinde CommandLog isimli tablonun column ve nullable değerini verir:*/

USE DBA -- Hangi DB'de işlem yapılacaksa onu yazmanız gerekir
GO 
SELECT T.name TableName ,C.name ColumnName, CASE WHEN c.is_nullable<> 0 THEN 'Boş Geçilebilir - Not Null Tanımlanmış ' ELSE 'Boş Geçilemez - Null tanımlanmış' END ColumnType FROM sys.tables T 
JOIN sys.columns C ON T.object_id = C.object_id
WHERE T.name ='CommandLog'  -- Tablo Adını Yazmanız gerekir 

 
Gönderildi : 17/02/2014 14:38

(@SevalKaplan)
Gönderiler: 11
Active Member
Konu başlatıcı
 

Merhabalar,

Bu sorguyu çalıştıramam. Çünkü benim column name mim daha oluşmadı. oluşmada hata veriyor. Eğer sorgu ile eklersem de tabloda en son kısımda column oluşmuş olacak. Ben bu column'a primary key vereceğim. yani benim asıl sorgum için primery key gerekli. inner join i kullanırım o sorun değil. sorun en başında insert kullanmadan tablonun desingi üzerinden, yeni bir column eklerken hata alıyorum. Ve dosyam çok büyük her işlem yaptığım da 20 sn. ye bekleticek kadar. Zaman aşımı hatası da verebiliyor. Ben bunun önüne de geçmek istiyorum. Sizce nasıl bir yol gitmeliyim ?

 
Gönderildi : 18/02/2014 12:48

(@caglarozenc)
Gönderiler: 247
Reputable Member
 

Merhabalar, 

Sorguyu çalıştırdığınız zaman belirtilen tabloya ait kolon bilgilerini görüntülemiş olacaksınız, yeni bir kolon eklerken ise sorgu ile ekleyip daha sonra design olarak görüntüleyip istediğiniz yere eklenen kolon bilgisini taşıyabilirsiniz ve sanırım tam olarak anlamadık birbirlerimizi sorununuzu görsel olarak anlatabilirseniz daha çabuk yardımcı olabiliriz.

 
Gönderildi : 18/02/2014 13:48

(@SevalKaplan)
Gönderiler: 11
Active Member
Konu başlatıcı
 

Şöyle açıklayayım;

Büyük verisi olan bir tablom var. Bu tabloya bir alan ekleyeceğim bu alan primary keyli olacak. İşte bu kısımda hata veriyor. Daha öncede bir hata mesajını yazmıştım hatam o. Yardım edebilir misiniz ?

 
Gönderildi : 19/02/2014 18:19

(@caglarozenc)
Gönderiler: 247
Reputable Member
 

Eklemek istediğiniz tabloda farklı bir Primary key var mı ? Var ise primary key tanımlaması yapamazsınız.

 
Gönderildi : 20/02/2014 02:54

(@SevalKaplan)
Gönderiler: 11
Active Member
Konu başlatıcı
 

Hayır yok

 
Gönderildi : 20/02/2014 14:58

Paylaş: