Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft 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';