SQL'de belirli bir tip kolonların listesi nasıl alınır?
March 21, 2010 at 8:03 PM
—
oozturk
Merhaba,
Bir hazır veritabanınız var ve belirli bir tipteki kolonları listelemeye ihtiyacınız var (mesela bu tipteki kolonların tipini değiştirmeniz gerekiyor), peki bunu nasıl yapacaksınız?
Script 1: Belirli bir kolon tipine ait kolonların listesini alırken sadece tablo adı ve kolon adını görmek istiyorsanız
SELECT OBJECT_NAME(c.OBJECT_ID) TabloAdi, c.name KolonAdi
FROM sys.columns AS c
JOIN sys.types AS t ON c.user_type_id = t.user_type_id
WHERE t.name = 'text'
ORDER BY c.OBJECT_ID;
Script 2: Aynı şartlar altında bir liste almak istiyorsunuz ancak daha detaylı veriye ihtiycanız varsa
SELECT
OBJECT_NAME(c.OBJECT_ID) TabloAdi
,c.name AS Kolonadi
,SCHEMA_NAME(t.schema_id) AS SchemaAdi
,t.name AS Tip
,t.is_user_defined
,t.is_assembly_type
,c.max_length
,c.PRECISION
,c.scale
FROM sys.columns AS c
JOIN sys.types AS t ON c.user_type_id=t.user_type_id
WHERE t.name = 'date'
ORDER BY c.OBJECT_ID;
Bu kadar basit. Bu iki komuttan işinize yarayan biri ile istediğiniz veritabanına ait tablolar içinden istediğiniz veri tipindeki kolonları tespit edebilirsiniz.
İyi günler.
e336d638-dd9a-4dfd-a4ff-f93c21906416|0|.0
Posted in: MSSQL
Tags: MSSQL