Merhabalar, SQL Server INFORMATION_SCHEMA COLUMNS yazım ile SQL Eğitim Setime devam ediyorum. Bu dersimizde INFORMATION_SCHEMA view’lerinden biri olan Columns view’ini inceleyeceğiz.
INFORMATION_SCHEMA view ‘ler (görünümler), bir veritabanda yer alan tüm nesneler hakkında bize meta veriler almamıza olanak tanır. Bu view’ler ana veritabanında Views / System Views altında bulunabilir ve SQL Server üzerindeki herhangi bir veritabanından çağrılabilir. Bu View’lerin geliştirilmesindeki neden, tüm veritabanı platformlarında standart olmalarıydı. SQL 2005 ve SQL 2008’de bu INFORMATION_SCHEMA View’leri ISO standardına uygundur.
SQL Server INFORMATION_SCHEMA COLUMNS
INFORMATION_SCHEMA COLUMNS view’i, bir veritabanındaki tabloların kolonları hakkındaki tüm meta verileri görmemize olanak sağlar. Varsayılan olarak bir veritabanındaki tüm tablo ve view’ler için kolon bilgilerini almamızı sağlar.
Bu view, bir SQL server üzerindeki herhangi bir veritabanı üzerinden çağrılabilir ve söz konusu veritabanı hakkında bilgileri gösterir.
INFORMATION_SCHEMA COLUMNS
Bu view’in döndürdüğü kolonlar ve açıklamaları aşağıdaki tablodaki gibidir.
Sütun adı | Veri tipi | Açıklama |
---|---|---|
TABLE_CATALOG | nvarchar ( 128 ) | Tablo niteleyicisi. |
TABLE_SCHEMA | nvarchar ( 128 ) | Tabloyu içeren şemanın adı. |
TABLE_NAME | nvarchar ( 128 ) | Tablo ismi. |
COLUMN_NAME | nvarchar ( 128 ) | Sütun adı. |
ORDINAL_POSITION | int | Sütun index numarası. |
COLUMN_DEFAULT | nvarchar ( 4000 ) | Sütunun varsayılan değeri. |
IS_NULLABLE | varchar ( 3 ) | Kolonun NULL olabilme özelliği. Bu sütun NULL değerine izin veriyorsa, bu sütun YES değerini döndürür. Aksi takdirde NO döndürülür. |
DATA_TYPE | nvarchar ( 128 ) | Kolonun veri türü. |
CHARACTER_MAXIMUM_LENGTH | int | İkili veriler, karakter verileri veya metin ve görüntü verileri için karakter cinsinden maksimum uzunluk. |
CHARACTER_OCTET_LENGTH | int | İkili veriler, karakter verileri veya metin ve görüntü verileri için bayt cinsinden maksimum uzunluk. |
NUMERIC_PRECISION | tinyint | Yaklaşık sayısal verilerin, tam sayısal verilerin, tamsayı verilerinin veya parasal verilerin hassasiyeti. Aksi takdirde, NULL döndürülür. |
NUMERIC_PRECISION_RADIX | küçük tamsayı | Yaklaşık sayısal veriler, tam sayısal veriler, tamsayı verileri veya parasal verilerin kesin yarıçapı. Aksi takdirde, NULL döndürülür. |
NUMERIC_SCALE | int | Yaklaşık sayısal veriler, tam sayısal veriler, tamsayı verileri veya parasal veriler ölçeği. Aksi takdirde, NULL döndürülür. |
DATETIME_PRECISION | küçük tamsayı | İçin Alt tür kod datetime ve SQL-92 aralık veri türleri. Diğer veri türleri için NULL döndürülür. |
CHARACTER_SET_CATALOG | nvarchar ( 128 ) | Master’ı döndürür . Sütun karakter verileri veya metin veri türü ise, karakter kümesinin bulunduğu veritabanını gösterir . Aksi takdirde, NULL döndürülür. |
CHARACTER_SET_SCHEMA | nvarchar ( 128 ) | Her zaman NULL döndürür. |
CHARACTER_SET_NAME | nvarchar ( 128 ) | Bu sütun karakter verisi veya metin veri türüyse karakter kümesi için benzersiz adı döndürür . Aksi takdirde, NULL döndürülür. |
COLLATION_CATALOG | nvarchar ( 128 ) | Her zaman NULL döndürür. |
COLLATION_SCHEMA | nvarchar ( 128 ) | Her zaman NULL döndürür. |
COLLATION_NAME | nvarchar ( 128 ) | Sütun karakter verisi veya metin veri tipi ise harmanlama için benzersiz adı döndürür . Aksi takdirde, NULL döndürülür. |
DOMAIN_CATALOG | nvarchar ( 128 ) | Sütun bir diğer ad veri türüyse, bu sütun, kullanıcı tanımlı veri türünün oluşturulduğu veritabanı adıdır. Aksi takdirde, NULL döndürülür. |
DOMAIN_SCHEMA | nvarchar ( 128 ) | Sütun kullanıcı tanımlı bir veri türüyse, bu sütun kullanıcı tanımlı veri türünün şemasının adını döndürür. Aksi takdirde, NULL döndürülür. |
DOMAIN_NAME | nvarchar ( 128 ) | Sütun kullanıcı tanımlı bir veri türüyse, bu sütun kullanıcı tanımlı veri türünün adıdır. Aksi takdirde, NULL döndürülür. |
Örnek
Aşağıda bir ödev projesi için oluşturulan örnek veritabanı üzerinden çalıştırılan sorgu ve sonuçları yer almaktadır.
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
SQL Server INFORMATION_SCHEMA COLUMNS dersimiz de bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere.
Microsoft SQL Server & T-SQL Eğitim Seti ders listesi için tıklayınız.
Buradan C# Eğitim Setimde yayınladığım Github projeme ulaşabilirsiniz.
Sağlıcakla ve Takipte Kalın.