Yanıtlar:
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
NOT NULL
sahipse, sorguda belirtilmesi gerekir, aksi takdirde sütunun NULL
varsayılan olarak ayarlanması gerekir . ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
Özellikten ALTER COLUMN
bahsetmeden çalıştırmak NOT NULL
, sütunun zaten yoksa boş değerli olarak değiştirilmesine neden olur. Bu nedenle, önce sütunun boş bırakılıp bırakılmadığını kontrol etmeniz ve eğer değilse özniteliği belirtmeniz gerekir NOT NULL
. Alternatif olarak, sütunun geçersizliğini kontrol eden ve komutu doğru öznitelikle çalıştıran aşağıdaki ifadeyi kullanabilirsiniz.
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NULL
Aşağıdaki Şekilde gösterilen Veri Türü'nde tablo -> Tasarım -> değeri değiştir'i seçin.
Tablo tasarımını kaydedin.
İlginç bir yaklaşım burada bulunabilir: Spaghettidba tarafından Kesintisiz Sütunlarınızı Nasıl Genişletirsiniz?
Bu sütunu düz bir “ALTER TABLE” komutuyla büyütmeye çalışırsanız, SQLServer'ın tüm satırları geçmesini ve yeni veri türünü yazmasını beklemeniz gerekir.
ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;
Bu rahatsızlığın üstesinden gelmek için, tablonuzun alabileceği sihirli bir sütun büyütme hapı vardır ve buna Satır Sıkıştırma denir . (...) Satır Sıkıştırma ile sabit boyutlu sütunlarınız yalnızca gerçek verilerin sığabileceği en küçük veri türünün ihtiyaç duyduğu alanı kullanabilir.
Tablo ROW
düzeyinde sıkıştırıldığında, ALTER TABLE ALTER COLUMN
yalnızca meta veri işlemi olur.