sp_special_columns (Transact-SQL)
En iyi küme bir tablosatırı benzersiz şekilde tanımlayan sütun döndürür.Ayrıca satırda herhangi bir değer, bir işlem tarafından güncelleştirildiğinde otomatik olarak güncelleştirilmiş sütunlar döndürür.
Sözdizimi
sp_special_columns [ @table_name = ] 'table_name'
[ , [ @table_owner = ] 'table_owner' ]
[ , [ @qualifier = ] 'qualifier' ]
[ , [ @col_type = ] 'col_type' ]
[ , [ @scope = ] 'scope' ]
[ , [ @nullable = ] 'nullable' ]
[ , [ @ODBCVer = ] 'ODBCVer' ]
[ ; ]
Bağımsız değişkenler
[ @table_name=\] 'table_name'
tablo adı, katalog bilgi döndürmek için kullanılır.nameİş sysname, ile hiçbir varsayılan.Joker desen eşleştirme desteklenmez.[ @table_owner=\] 'table_owner'
tablo tablo sahibi katalog bilgi döndürmek için kullanılır.ownerİş sysname, varsayılan değer null.Joker desen eşleştirme desteklenmez.owner Belirtilmezse, temel alınan DBMS varsayılan tablo görünürlük kuralları uygula.De SQL Server, geçerli kullanıcının belirtilen ada sahip bir tablo içeriyorsa, o tablo sütunları döndürülen.owner Belirtilmezse ve geçerli kullanıcının belirtilen bir tablo sahibi değil name, bu yordamı tablo belirtilen arar name sahibi veritabanı sahibi.tablo varsa, kendi sütunları döndürülür.
[ @qualifier=\] 'qualifier'
tabloniteleyiciadıdır. qualifierİş sysname, varsayılan değer null.Tablolar için üç bölümlü adlandırma çeşitli DBMS ürünleri destekler (qualifier.owner.name).De SQL Server, bu sütun temsil eden veritabanı adı.Bazı ürünler, bu tabloveritabanı ortamında sunucu adı temsil eder.[ @col_type=\] 'col_type'
sütun türü değil.col_typeİş char(1), r. varsayılan değerTürü R en uygun sütun veya veren, sütun veya sütun değerleri alarak herhangi bir satırın belirtilen tablo için benzersiz olarak küme sütun döndürür.Bir sütun ya da bir pseudocolumn bu amaç veya sütun veya sütunları tabloiçin tüm benzersiz dizin için özel olarak tasarlanmış olabilir.Türü V döndürür sütun veya sütunları belirtilen tablovarsa, otomatik olarak güncelleştirilir veri kaynak , satırdaki herhangi bir değer tarafından güncelleştirilmiş herhangi işlem.[ @scope=\] 'scope'
Minimum gerekli kapsam SATIRKİMLİĞİ olur.scopeİş char(1), varsayılan değer t.Kapsam C belirtir SATIRKİMLİĞİ olduğundan yalnızca zaman yerleştirilmiş bu satır.Kapsam T belirtir, ROWID, geçerli hareket.[ @nullable=\] 'nullable'
Özel sütunlar null değeri kabul edebilir durumda.nullableİş char(1), varsayılan değer u.Onull değerlere izin vermeyen özel sütunlar belirtir.Ukısmen nullable sütun belirtir.[ @ODBCVer=\] 'ODBCVer'
odbc sürüm kullanılıyor.ODBCVerİş int(4), varsayılan değer 2.Bu odbc sürüm 2.0 gösterir.odbc odbc sürüm 2.0 ve odbc sürüm 3.0 arasındaki farklar hakkında daha fazla bilgi için bkz: SQLSpecialColumns odbc sürüm 3.0 için belirtim.
Dönüş Kodu Değerleri
Hiçbiri
Sonuç Kümeleri
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
SCOPE |
smallint |
Gerçek kapsam satır kimliği0, 1 Veya 2 olabilir.SQL Serverher zaman 0 döndürür.Bu alan , her zaman bir değer döndürür. 0 = SQL_SCOPE_CURROW.Satır Kimliği yalnızca o satırın üstüne yerleştirilmiş durumdayken geçerli olması sağlanır.Satır satır güncelleştirdiyseniz veya başka bir işlem tarafından silinmiş satır kimliği döndürmeyebilir kullanarak daha sonra reselect. 1 = SQL_SCOPE_TRANSACTION.Satır Kimliği geçerli işlem süresi için geçerli olması sağlanır. 2 = SQL_SCOPE_SESSION.Satır Kimliği (işlem sınırları boyunca) oturum süresince geçerli olması sağlanır. |
COLUMN_NAME |
sysname |
Her sütun için sütun adı tableverdi.Bu alan , her zaman bir değer döndürür. |
DATA_TYPE |
smallint |
odbc SQL veri türü. |
TYPE_NAME |
sysname |
Veri kaynak-bağımlı veri türü adı; for example, char, varchar, money, or text. |
PRECISION |
Int |
Veri kaynak sütun duyarlığını.Bu alan , her zaman bir değer döndürür. |
LENGTH |
Int |
Bayt cinsinden uzunluğu için gerekli ikili biçimde veri kaynak, veri türü Örneğin, 10 char(10), 4 integer, 2 smallint. |
SCALE |
smallint |
Veri kaynak sütun ölçeğini.null veri türleri için döndürülen için hangi ölçek uygulanamaz. |
PSEUDO_COLUMN |
smallint |
sütun bir pseudocolumn olup olmadığını gösterir.SQL Server1 her zaman döndürür: 0 = SQL_PC_UNKNOWN 1 SQL_PC_NOT_PSEUDO = 2 = SQL_PC_PSEUDO |
Açıklamalar
sp_special_columnseşittir SQLSpecialColumns odbc.Döndürülen sonuçlar kapsam tarafından sipariş.
İzinler
Şema üzerinde select izni gerektirir.
Örnekler
Aşağıdaki örnek satırların benzersiz şekilde tanımlayan sütun hakkında bilgi verir HumanResources.Department tablo.
USE AdventureWorks2008R2;
GO
EXEC sp_special_columns @table_name = 'Department'
,@table_owner = 'HumanResources';