Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Adja vissza az optimális oszlophalmazt, amely egyediben azonosítja a táblázat sorát. Emellett automatikusan frissített oszlopokat is visszaad, amikor a sorban bármely érték tranzakció által frissül.
Transact-SQL szintaxis konvenciók
Szemantika
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'
A táblázat neve a katalógusinformáció visszaadására szolgált. @table_namea sysname, alapértelmezett nélkül. A wildcard mintás párosítás nem támogatott.
[ @table_owner = ] N'table_owner'
A táblázat tulajdonosa a katalógusinformációt küldte vissza.
@table_owner a sysname, alapértelmezettként NULL. A wildcard mintás párosítás nem támogatott. Ha @table_owner nincs megadva, akkor az alap adatbázis-kezelő rendszer (DBMS) alapértelmezett táblaláthatósági szabályai érvényesek.
Az SQL Serverben, ha a jelenlegi felhasználó rendelkezik egy megadott nevű táblával, akkor az adott tábla oszlopai visszatérnek. Ha @table_owner nincs megadva, és a jelenlegi felhasználó nem birtokolja a megadott @table_name tábláját, ez az eljárás egy megadott @table_name táblát keres, amely az adatbázis tulajdonosa tulajdonában van. Ha a tábla létezik, akkor az oszlopai visszakerülnek.
[ @table_qualifier = ] N'table_qualifier'
A táblázat selejtező neve.
@table_qualifiera sysname, alapértelmezésként NULL. Különböző adatbázis-alapú termékek háromrészes elnevezést támogatnak a táblákhoz (<qualifier>.<owner>.<name>). Az SQL Server esetében ez az oszlop az adatbázis nevét jelöli. Néhány termékben ez a tábla adatbázis környezetének szervernevét jelöli.
[ @col_type = ] 'col_type'
Az oszlop típusa.
@col_typechar(1), alapértelmezett értéke R.
A típus
Raz optimális oszlopot vagy oszlophalmazt adja vissza, amely az oszlopból vagy oszlopokból származó értékek visszavételével lehetővé teszi, hogy a megadott táblázat bármely sora egyedien azonosítható legyen. Az oszlop lehet erre a célra tervezett pszeudooszlop, vagy bármely táblázat egyedi indexének oszlopa vagy oszlopai.A típus
Vvisszaadja azokat az oszlopokat vagy oszlopokat a megadott táblában, ha van ilyen, amelyeket az adatforrás automatikusan frissít, ha a sorban bármely érték bármely tranzakcióval frissül.
[ @scope = ] 'scope'
A ROWID minimum szükséges hatóköre.
@scopechar(1), alapértelmezett értéke T.
- A Scope
Celőírja, hogy a ROWID csak akkor érvényes, ha ezen a soron helyezkedik el. - A Scope
Tmeghatározza, hogy a ROWID érvényes a tranzakcióra.
[ @nullable = ] 'nullable'
Megadja, hogy a speciális oszlopok elfogadhatnak-e egy NULL értéket.
@nullable char (1), alapértelmezett értéke U.
-
OSpeciális oszlopokat jelöl, amelyek nem engedélyezik null értékeket. -
UOlyan oszlopokat határoz meg, amelyek részben nullálhatók.
[ @ODBCVer = ] ODBCVer
Az ODBC verziót használják.
@ODBCVerint, alapértelmezés 2. Ez az érték az ODBC 2.0 verziót jelzi. További információért az ODBC 2.0 és az ODBC 3.0 verzió közötti különbségről lásd az ODBC 3.0 verzió ODBC SQLSpecialColumns specifikációját.
Kódértékek visszaadása
Nincs.
Eredményhalmaz
| Oszlop név | Adattípus | Description |
|---|---|---|
SCOPE |
smallint | A sorazonosító tényleges terjedelme.
0Lehet , 1vagy 2. Az SQL Server mindig visszaadja 0. Ez a mező mindig értéket ad vissza.0 = SQL_SCOPE_CURROW. A sor azonosítója garantáltan érvényes, ha az adott soron helyezkedik el. Egy későbbi sorazonosítóval történő újraválasztás nem biztos, hogy nem hozza vissza a sort, ha a sort egy másik tranzakció frissítette vagy törölte.1 = SQL_SCOPE_TRANSACTION. A sorazonosító garantáltan érvényes a jelenlegi tranzakció időtartama alatt.2 = SQL_SCOPE_SESSION. A sorazonosító garantáltan érvényes az ülés időtartamára (tranzakciós határokon át). |
COLUMN_NAME |
sysname | A visszaadott @table_name oszlopának oszlopneve. Ez a mező mindig értéket ad vissza. |
DATA_TYPE |
smallint | ODBC SQL data type. |
TYPE_NAME |
sysname | Adatforrástól függő adattípus név; például char, varchar, money vagy text. |
PRECISION |
int | Az oszlop pontossága az adatforráson. Ez a mező mindig értéket ad vissza. |
LENGTH |
int | A hossz, bájtokban, amely az adattípus bináris formájában szükséges az adatforrásban, például 10char(10), 4egész szám és 2smallint esetén. |
SCALE |
smallint | Az adatforrás oszlopának skálája.
NULL olyan adattípusok esetén jelenik meg, amelyekre a méretarány nem alkalmazható. |
PSEUDO_COLUMN |
smallint | Jelzi, hogy az oszlop pszeudooszlop-e. Az SQL Server mindig a következőket adja 1vissza:0 = SQL_PC_UNKNOWN1 = SQL_PC_NOT_PSEUDO2 = SQL_PC_PSEUDO |
Megjegyzések
sp_special_columnsaz ODBC-vel egyenértékű.SQLSpecialColumns A visszaadott eredményeket a sorban sorolják.SCOPE
Permissions
Engedély SELECT szükséges a sémához.
Példák
A következő példa az oszlopról ad információt, amely egyedien azonosítja a HumanResources.Department táblázat sorait.
USE AdventureWorks2022;
GO
EXECUTE sp_special_columns
@table_name = 'Department',
@table_owner = 'HumanResources';