NOT NULL kısıtı var olmadığını kontrol etme

oy
2

C # kodu ile SQL tablosunu değiştirerek ediyorum ve varsa bir NOT NULL kısıtının düşmesi gerekir. Nasıl ilk olup olmadığını görmek için kontrol edebilirim?

Oluştur 09/12/2008 saat 16:31
kaynak kullanıcı
Diğer dillerde...                            


5 cevaplar

oy
0

Kötü bir fikir gibi sesler önerdikleri şey ben iş kuralları hakkında emin değilim, bu yüzden yanlış olabilir, ama.

NOT NULL kısıtı bulunmaması gerekiyorsa, o zaman DB'den çıkarın. bunun etrafında, programı bulunmalıdır edin.

aslında tabloları değiştirmek için DDL uygulamak gerekiyorsa, yapmak ve C # yordamını aramak için bir saklı yordam yazmak istiyorum.

Cevap 09/12/2008 saat 16:35
kaynak kullanıcı

oy
14

select is_nullable 
from   sys.columns
where  object_id = OBJECT_ID('tablename')  
and    name = 'columnname';
Cevap 09/12/2008 saat 16:37
kaynak kullanıcı

oy
1

Eh, kontrol edebilir syscolumns.isnullablebayrağı? Ya da daha yakın zamanda:

COLUMNPROPERTY(@tableId, 'ColumnName', 'AllowsNull')

@tableId OBJECT_ID Nerede ( 'TableName')

Cevap 09/12/2008 saat 16:37
kaynak kullanıcı

oy
0

kullanımı ile yapabilir misin COLUMNPROPERTY :

SEC COLUMNPROPERTY (object_id ( 'schemaName.TableName') 'SütunAdı', 'allowsNull')

Cevap 09/12/2008 saat 16:40
kaynak kullanıcı

oy
1

Bu SQL deyimini yürütün:

select * from information_schema.columns c
inner join information_schema.tables t on c.table_catalog = t.table_catalog and t.table_schema = c.table_schema and t.table_name = c.table_name
where c.table_name = 'Categories' and c.Is_nullable = 'NO'

ve ardından "boş değil" kısıtlamayı kaldırır ALTER deyim

Cevap 09/12/2008 saat 16:40
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more