Aracılığıyla paylaş


sp_columns (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Mevcut ortamda sorgulanabilecek belirtilen nesneler için sütun bilgilerini döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_columns
    [ @table_name = ] N'table_name'
    [ , [ @table_owner = ] N'table_owner' ]
    [ , [ @table_qualifier = ] N'table_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @ODBCVer = ] ODBCVer ]
[ ; ]

Arguments

[ @table_name = ] N'table_name'

@table_namenvarchar(384)'dür, varsayılan yoktur.

Katalog bilgisini döndürmek için kullanılan nesnenin adı. @table_name , tablo, görünüm veya tablo değerli fonksiyonlar gibi sütunlardan oluşan başka bir nesne olabilir. @table_namenvarchar(384)'dür, varsayılan yoktur. Joker kart desen eşleştirmesi desteklenmektedir.

[ @table_owner = ] N'table_owner'

Katalog bilgisini döndürmek için kullanılan nesnenin nesne sahibi. @table_ownernvarchar(384)'dür, varsayılan olarak NULL. Joker kart desen eşleştirmesi desteklenmektedir. Eğer @table_owner belirtilmemişse, temel DBMS'nin varsayılan nesne görünürlüğü kuralları uygulanır.

Mevcut kullanıcı belirtilen isme sahip bir nesneye sahipse, o nesnenin sütunları geri döner. Eğer @table_owner belirtilmemişse ve mevcut kullanıcı belirtilen @table_name sahip bir nesneye sahip değilse, sp_columns veritabanı sahibine ait @table_name belirtilen nesneye sahip bir nesne arayın. Eğer varsa, o nesnenin sütunları geri döner.

[ @table_qualifier = ] N'table_qualifier'

@table_qualifiersysname'dir ve varsayılan olarak .NULL

Nesne niteleyicisinin adı. @table_qualifiersysname'dir ve varsayılan olarak .NULL Çeşitli DBMS ürünleri, nesneler için üç bölümlü adlandırmayı destekler (<qualifier>.<owner>.<name>). SQL Server'da bu sütun veritabanı adını temsil eder. Bazı ürünlerde, nesnenin veritabanı ortamının sunucu adını temsil eder.

[ @column_name = ] N'column_name'

Tek bir sütun ve sadece bir katalog bilgisi sütunu istendiğinde kullanılır. @column_namenvarchar(384)'dür ve varsayılan olarak .NULL Eğer @column_name belirtilmemişse, tüm sütunlar geri gönderilir. SQL Server'da @column_name , tabloda listelenen sütun adını syscolumns temsil eder. Joker kart desen eşleştirmesi desteklenmektedir. Maksimum birlikte çalışabilirlik için, gateway istemcisi yalnızca SQL-92 standart desen eşleştirmesini ( % ve _ joker karakterleri) varsaymalıdır.

[ @ODBCVer = ] ODBCVer

Kullanılan ODBC versiyonu. @ODBCVerint, varsayılan olarak .2 Bu, ODBC Sürüm 2'yi gösteriyor. Geçerli değerler 2 veya 3. Sürüm 2 ve 3 arasındaki davranış farkları için ODBC SQLColumns spesifikasyonuna bakınız.

Dönüş kodu değerleri

Yok.

Sonuç kümesi

sp_columns Katalogda saklanan prosedür ODBC'deki prosedüre SQLColumns eşdeğerdir. Verilen sonuçlar , TABLE_QUALIFIER, ve TABLE_OWNERile TABLE_NAMEsıralanır.

Sütun adı Veri türü Description
TABLE_QUALIFIER sysname Nesne niteleyici adı. Bu alan olabilir NULL.
TABLE_OWNER sysname Nesne sahibi adı. Bu alan her zaman bir değer döndürür.
TABLE_NAME sysname Nesne adı. Bu alan her zaman bir değer döndürür.
COLUMN_NAME sysname Dönen her sütun TABLE_NAME için sütun adı. Bu alan her zaman bir değer döndürür.
DATA_TYPE smallint ODBC veri tipi için tamsayı kodu. Eğer bu veri tipi bir ODBC tipine eşlenemiyorsa, NULLbu . Yerel veri tipi adı sütunda TYPE_NAME döner.
TYPE_NAME sysname Bir veri türünü temsil eden bir dizimiz. Altta yatan DBMS bu veri tipi adını sunar.
PRECISION int Önemli rakam sayısı. Sütunun geri dönüş değeri PRECISION taban 10'da.
LENGTH int Veri aktarım boyutu. 1
SCALE smallint Ondalık noktanın sağındaki rakam sayısı.
RADIX smallint Sayısal veri türleri için bir temel.
NULLABLE smallint Nullability'yi belirtir.

1 = NULL mümkün.
0 = DEĞIL NULL.
REMARKS varchar(254) Bu alan her zaman döner NULL.
COLUMN_DEF nvarchar(4000) Sütunun varsayılan değeri.
SQL_DATA_TYPE smallint SQL veri türünün değeri, tanımlayıcının TYPE alanında göründüğü şeklinde. Bu sütun, DATA_TYPE ve SQL-92 aralığı veri türleri dışında sütunla aynıdır. Bu sütun her zaman bir değer döndürür.
SQL_DATETIME_SUB smallint Datetime ve SQL-92 aralıklı veri tipleri için alt tip kodu. Diğer veri türleri için ise bu sütun NULLdöndürür.
CHAR_OCTET_LENGTH int Bir karakter veya tam sayı veri tipi sütununun bayt cinsinden maksimum uzunluk. Diğer tüm veri türleri için bu sütun NULLdöndürür.
ORDINAL_POSITION int Sütunun nesnedeki sırasal konumu. Nesnedeki ilk sütun 1'dir. Bu sütun her zaman bir değer döndürür.
IS_NULLABLE varchar(254) Nesnedeki sütunun nullability'si. ISO kuralları sıfırlanabilirliği belirlemek için uygulanır. ISO SQL uyumlu bir DBMS boş bir diziyi döndüremez.

YES = Sütun NULLiçinde bulunabilir.
NO = Sütun NULL.

Bu sütun, nullability bilinmiyorsa sıfır uzunlukta bir dizi döndürür.

Bu sütun için döndürülen değer, sütun NULLABLE için verilen değerden farklıdır.
SS_DATA_TYPE tinyint Genişletilmiş depolanmış prosedürler tarafından kullanılan SQL Server veri türü. Daha fazla bilgi için bkz. Veri türleri.

1 Daha fazla bilgi için ODBC Genel Bakışına bakınız.

Permissions

Şema üzerinde izinler ve SELECT gereksinimlerVIEW DEFINITION.

Açıklamalar

sp_columns sınırlandırılmış tanımlayıcılar için gereksinimleri takip eder. Daha fazla bilgi için bkz . Veritabanı tanımlayıcıları.

Örnekler

Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.

Aşağıdaki örnek, belirli bir tablo için sütun bilgisini döndürür.

USE AdventureWorks2022;
GO

EXECUTE sp_columns
    @table_name = N'Department',
    @table_owner = N'HumanResources';

Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)

Aşağıdaki örnek, belirli bir tablo için sütun bilgisini döndürür.

USE AdventureWorksDW2022;
GO

EXECUTE sp_columns
    @table_name = N'DimEmployee',
    @table_owner = N'dbo';