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
Microsoft Fabric'te SQL veritabanı
Tablodaki bir satırı benzersiz şekilde tanımlayan optimal sütun kümesini döndürür. Ayrıca, satırdaki herhangi bir değer işlem tarafından güncellendiğinde otomatik olarak güncellenen sütunları döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
sp_special_columns
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @col_type = ] 'col_type' ]
[ , [ @scope = ] 'scope' ]
[ , [ @nullable = ] 'nullable' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
Katalog bilgisini döndürmek için kullanılan tablonun adı. @table_namesysname'dir, varsayılan yoktur. Wildcard desen eşleştirme desteklenmiyor.
[ @table_owner = ] N'table_owner'
Tablonun sahibi katalog bilgilerini döndürmek için kullanılırdı.
@table_ownersysname'dir ve varsayılan olarak .NULL Wildcard desen eşleştirme desteklenmiyor.
Eğer @table_owner belirtilmemişse, temel veritabanı yönetim sisteminin (DBMS) varsayılan tablo görünürlüğü kuralları uygulanır.
SQL Server'da, mevcut kullanıcı belirtilen isimle bir tabloya sahipse, o tablonun sütunları döner. Eğer @table_owner belirtilmemişse ve mevcut kullanıcı belirtilen @table_name tablosuna sahip değilse, bu prosedür veritabanı sahibine ait olan belirtilen @table_name tablosunu arar. Tablo varsa, sütunları geri döner.
[ @table_qualifier = ] N'table_qualifier'
Tablo nitelendirmesinin adı.
@table_qualifiersysname'dir ve varsayılan olarak .NULL Çeşitli DBMS ürünleri, tablolar 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, tablonun veritabanı ortamının sunucu adını temsil eder.
[ @col_type = ] 'col_type'
Sütun türü.
@col_typechar(1)'dir ve varsayılan olarak .R
Tür
R, sütun veya sütunlardan değerler alınarak belirlenen tablodaki herhangi bir satırın benzersiz şekilde tanımlanmasını sağlayan optimal sütun veya sütun kümesini döndürür. Bir sütun, bu amaçla tasarlanmış bir sözde sütun veya tablo için herhangi bir benzersiz indeksin sütunu veya sütunları olabilir.Tip
V, varsa, belirtilen tablodaki sütun veya sütunları döndürür; bunlar satırdaki herhangi bir değer herhangi bir işlem tarafından güncellendiğinde veri kaynağı tarafından otomatik olarak güncellenir.
[ @scope = ] 'kapsam'
ROWID'in minimum gerekli kapsamı.
@scope, char(1)'dir ve varsayılan olarak .T
- Kapsam
C, ROWID'in yalnızca o satırda konumlandığında geçerli olduğunu belirtir. - Kapsam
T, ROWID'nin işlem için geçerli olduğunu belirtir.
[ @nullable = ] 'iptal edilebilir'
Özel sütunların bir NULL değeri kabul edip edemeyeceğini belirtir.
@nullable , char(1)'dir ve varsayılan olarak U'dir.
-
ONull değerlere izin vermeyen özel sütunları belirtir. -
Ukısmen nullable olan sütunları belirtir.
[ @ODBCVer = ] ODBCVer
ODBC versiyonu kullanılıyor.
@ODBCVerint, varsayılan olarak .2 Bu değer ODBC sürüm 2.0'ı gösterir. ODBC sürüm 2.0 ile ODBC sürüm 3.0 arasındaki fark hakkında daha fazla bilgi için ODBC sürüm 3.0 için ODBC SQLSpecialColumns spesifikasyonuna bakınız.
Dönüş kodu değerleri
Yok.
Sonuç kümesi
| Sütun adı | Veri türü | Description |
|---|---|---|
SCOPE |
smallint | Sıra kimliğinin gerçek kapsamı. , 0veya 1olabilir2. SQL Server her zaman döner 0. Bu alan her zaman bir değer döndürür.0 = SQL_SCOPE_CURROW. Satır kimliği yalnızca o sırada konumlandığında geçerli olacağı garanti edilir. Daha sonra satır kimliği kullanılarak yapılan bir yeniden seçim, satır başka bir işlemle güncellenmiş veya silinmişse satır döndürmeyebilir.1 = SQL_SCOPE_TRANSACTION. Sıra kimliğinin mevcut işlem süresi boyunca geçerli olacağı garanti edilir.2 = SQL_SCOPE_SESSION. Satır kimliğinin oturum süresi boyunca (işlem sınırları ötesinde) geçerli olması garanti edilir. |
COLUMN_NAME |
sysname | Geri dönen @table_name sütununun her sütunu için adı. Bu alan her zaman bir değer döndürür. |
DATA_TYPE |
smallint | ODBC SQL veri tipi. |
TYPE_NAME |
sysname | Veri kaynağına bağlı veri tipi adı; örneğin, char, varchar, para veya metin. |
PRECISION |
int | Veri kaynağındaki sütunun hassasiyeti. Bu alan her zaman bir değer döndürür. |
LENGTH |
int | Uzunluk, bayt cinsinden, veri tipinin veri kaynağında ikili formunda, örneğin 10char(10) için, 4tam sayı için ve 2smallint için. |
SCALE |
smallint | Veri kaynağındaki sütunun ölçeği.
NULL ölçek uygulanamayan veri türleri için döner. |
PSEUDO_COLUMN |
smallint | Sütunun bir sözde sütun olup olmadığını gösterir. SQL Server her zaman şunları döndürür 1:0 = SQL_PC_UNKNOWN1 = SQL_PC_NOT_PSEUDO2 = SQL_PC_PSEUDO |
Açıklamalar
sp_special_columns ODBC'deki eşdeğerdir SQLSpecialColumns . Geri dönen sonuçlar şu şekilde sıralanmıştır SCOPE.
Permissions
Şema için izin gerekiyor SELECT .
Örnekler
Aşağıdaki örnek, tablodaki satırları HumanResources.Department benzersiz şekilde tanımlayan sütun hakkında bilgi verir.
USE AdventureWorks2022;
GO
EXECUTE sp_special_columns
@table_name = 'Department',
@table_owner = 'HumanResources';