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
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Egyetlen tábla elsődleges kulcsadatait adja vissza a jelenlegi környezetben.
Transact-SQL szintaxis konvenciók
Szemantika
Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW).
sp_pkeys
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ ; ]
Arguments
[ @table_name = ] N'table_name'
Megadja a táblázatot, amelyhez az információt kell visszaadni. @table_namea sysname, alapértelmezett nélkül. A wildcard mintás párosítás nem támogatott.
[ @table_owner = ] N'table_owner'
Megadja a megadott tábla tábla tulajdonosát.
@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 a @table_owner nincs megadva, és a jelenlegi felhasználó nem rendelkezik táblával a megadott @table_name-vel, ez az eljárás olyan táblát keres, amelyhez a megadott @table_name az adatbázis tulajdonosa tartozik. Ha létezik ilyen, akkor a táblázat oszlopai visszakerülnek.
[ @table_qualifier = ] N'table_qualifier'
A táblázatbeli seletítő.
@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.
Kódértékek visszaadása
Nincs.
Eredményhalmaz
| Oszlop név | Adattípus | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | A táblázat selejtező neve. Ez a mező lehet NULL. |
TABLE_OWNER |
sysname | Az asztaltulajdonos neve. Ez a mező mindig értéket ad vissza. |
TABLE_NAME |
sysname | A tábla neve. Az SQL Serverben ez az oszlop a táblanevet ábrázolja, ahogy azt a sysobjects táblában szerepel. Ez a mező mindig értéket ad vissza. |
COLUMN_NAME |
sysname | Az oszlop neve, minden visszatért TABLE_NAME oszlopra. Az SQL Serverben ez az oszlop a táblázatban felsorolt sys.columns oszlopnevet képviseli. Ez a mező mindig értéket ad vissza. |
KEY_SEQ |
smallint | Az oszlop sorszáma egy többoszlopos elsődleges kulcsban. |
PK_NAME |
sysname | Elsődleges kulcsazonosító. Visszaküldés NULL , ha nem vonatkozik az adatforrásra. |
Megjegyzések
sp_pkeys információt ad vissza olyan oszlopokról, amelyek kifejezetten korlátozóval definiáltak PRIMARY KEY . Mivel nem minden rendszer támogatja kifejezetten elnevezett elsődleges kulcsokat, a gateway implementáló határozza meg, mi számít elsődleges kulcsnak. Az elsődleges kulcs kifejezés egy logikai elsődleges kulcsra utal egy táblázatban. Minden logikai elsődleges kulcsként feltüntetett kulcs egyedi indexet kell meghatároznia. Ez az egyedi index a -ben sp_statisticsis visszakerül.
A sp_pkeys tárolt eljárás ekvivalvana az SQLPrimaryKeys ODBC-vel. Az eredményeket , TABLE_QUALIFIERTABLE_OWNER, TABLE_NAME, és KEY_SEQ.
Permissions
Engedély SELECT szükséges a sémához.
Példák
A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
A következő példa az adatbázisban található tábla HumanResources.DepartmentAdventureWorks2025 elsődleges kulcsát kéri.
USE AdventureWorks2022;
GO
EXECUTE sp_pkeys
@table_name = N'Department',
@table_owner = N'HumanResources';
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
A következő példa az adatbázisban található tábla DimAccountAdventureWorksPDW2012 elsődleges kulcsát kéri. Nulla sor jelenik meg, ami azt jelzi, hogy a táblának nincs elsődleges kulcsa.
-- Uses AdventureWorksPDW
EXECUTE sp_pkeys @table_name = N'DimAccount';