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'te
ambarMicrosoft Fabric'te SQL veritabanı
Mevcut ortamda tek bir tablo için birincil anahtar bilgisini döndürür.
Transact-SQL söz dizimi kuralları
Sözdizimi
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'
Bilgi iade edileceği tabloyu belirtir. @table_namesysname'dir, varsayılan yoktur. Wildcard desen eşleştirme desteklenmiyor.
[ @table_owner = ] N'table_owner'
Belirtilen tablonun tablo sahibini belirtir.
@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 içeren bir tabloya sahip değilse, bu prosedür veritabanı sahibine ait @table_name bir tablo arar. Eğer varsa, o tablonun sütunları geri döner.
[ @table_qualifier = ] N'table_qualifier'
Tablo elemesi.
@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.
Dönüş kodu değerleri
Yok.
Sonuç kümesi
| Sütun adı | Veri türü | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Tablo nitelendirmesinin adı. Bu alan olabilir NULL. |
TABLE_OWNER |
sysname | Masa sahibinin adı. Bu alan her zaman bir değer döndürür. |
TABLE_NAME |
sysname | Tablonun adı. SQL Server'da bu sütun, sysobjects tablosunda listelenen tablo adını temsil eder. Bu alan her zaman bir değer döndürür. |
COLUMN_NAME |
sysname | Sütunun adı, her dönen sütun TABLE_NAME için. SQL Server'da bu sütun, tabloda listelenen sys.columns sütun adını temsil eder. Bu alan her zaman bir değer döndürür. |
KEY_SEQ |
smallint | Çok sütunlu birincil anahtardaki sütunun dizi numarası. |
PK_NAME |
sysname | Birincil anahtar tanımlayıcısı. Veri kaynağına uygulanmıyorsa dekler NULL . |
Açıklamalar
sp_pkeys kısıtlama ile açıkça tanımlanmış PRIMARY KEY sütunlar hakkında bilgi döndürür. Tüm sistemler açıkça adlandırılmış birincil anahtarları desteklemediğinden, gateway uygulayıcısı birincil anahtarın neyin olduğunu belirler. Birincil anahtar terimi, bir tablo için mantıksal birincil anahtarı ifade eder. Mantıksal birincil anahtar olarak listelenen her anahtarın üzerinde tanımlanmış benzersiz bir indeks olması beklenmektedir. Bu benzersiz indeks de 'de döndürülür sp_statistics.
Saklanan prosedür sp_pkeys ODBC'deki ile SQLPrimaryKeys eşdeğerdir. Sonuçlar , , TABLE_QUALIFIER, ve TABLE_OWNERile sıralanırTABLE_NAME. KEY_SEQ
Permissions
Şema için izin gerekiyor SELECT .
Örnekler
Bu makaledeki kod örnekleri, AdventureWorks2025 giriş sayfasından indirebileceğiniz AdventureWorksDW2025 veya örnek veritabanını kullanır.
Aşağıdaki örnek, veritabanındaki tablonun HumanResources.DepartmentAdventureWorks2025 birincil anahtarını alır.
USE AdventureWorks2022;
GO
EXECUTE sp_pkeys
@table_name = N'Department',
@table_owner = N'HumanResources';
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
Aşağıdaki örnek, veritabanındaki tablonun DimAccountAdventureWorksPDW2012 birincil anahtarını alır. Sıfır satır döner, bu da tablonun birincil anahtarı olmadığını gösterir.
-- Uses AdventureWorksPDW
EXECUTE sp_pkeys @table_name = N'DimAccount';