T-SQL ile Tablodaki Alanların Listesini Alma
Projelerinizde bir alana giriş sınırı koyacağınız zaman örnek Ad girişi yaptığınız bir nesne var bu nesneye Ad uzunluğu olarak girilmesini istediğiniz uzunluğu veritabanındaki alan boyutu ile eşleştirerek engelleyebilirsiniz veri giriş boyutu sınırını veritabanındaki değere göre baz almanız daha önemlidir nedeni ise daha sonra veritabanındaki bu boyut değiştiğinde projenizdende değiştirmeniz gerekmeyecektir.
T-SQL Kodu
SELECT COLUMN_NAME, * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TabloAdi' AND COLUMN_NAME LIKE 'AlanAdi' ORDER BY ORDINAL_POSITION
Tabloya ait açıklama dahil edilerek ve gerekli alanlar filtrelenerek oluşturulmuş daha kullanışlı sorgu altta yer almaktadır.
SELECT OBJECT_NAME(c.OBJECT_ID) TabloAdi, CONVERT(NVARCHAR(500), ep_tab.value) AS TabloDetayBilgi, AlanAdi = c.name, AlanDetayBilgi = ep.value, AlanOtomatikArtan = c.is_identity, t.name AS AlanTipi, AlanBoyutu = c.max_length, AlanOndalikBasamak = c.PRECISION, AlanVarsayilanDeger = ISNULL(sc.COLUMN_DEFAULT, '') FROM sys.columns AS c JOIN sys.types AS t ON c.user_type_id = t.user_type_id JOIN sys.objects so ON so.object_id = c.object_id LEFT OUTER JOIN sys.extended_properties ep ON ep.name = 'MS_Description' AND ep.major_id = so.object_id AND ep.minor_id = c.column_id LEFT OUTER JOIN sys.extended_properties ep_tab ON ep_tab.name = 'MS_Description' AND ep_tab.major_id = so.object_id AND ep_tab.minor_id = 0 INNER JOIN INFORMATION_SCHEMA.COLUMNS sc ON sc.TABLE_NAME = so.name AND sc.COLUMN_NAME = c.name WHERE so.type = 'U'
Hiç yorum yok:
Yorum Gönder