sp_pkeys (Transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Mengembalikan informasi kunci primer untuk satu tabel di lingkungan saat ini.
Sintaks
-- Syntax for SQL Server, Azure SQL Database, Azure Synapse Analytics, Parallel Data Warehouse
sp_pkeys [ @table_name = ] 'name'
[ , [ @table_owner = ] 'owner' ]
[ , [ @table_qualifier = ] 'qualifier' ]
Argumen
[ @table_name= ] 'nama'
Adalah tabel untuk mengembalikan informasi. nama adalah sysname, tanpa default. Pencocokan pola kartubebas tidak didukung.
[ @table_owner= ] 'pemilik'
Menentukan pemilik tabel dari tabel yang ditentukan. pemilik adalah sysname, dengan default NULL. Pencocokan pola kartubebas tidak didukung. Jika pemilik tidak ditentukan, aturan visibilitas tabel default dari DBMS yang mendasar berlaku.
Di SQL Server, jika pengguna saat ini memiliki tabel dengan nama yang ditentukan, kolom tabel tersebut dikembalikan. Jika pemilik tidak ditentukan dan pengguna saat ini tidak memiliki tabel dengan nama yang ditentukan, prosedur ini mencari tabel dengan nama yang ditentukan yang dimiliki oleh pemilik database. Jika ada, kolom tabel tersebut akan dikembalikan.
[ @table_qualifier= ] 'kualifikasi'
Adalah kualifikasi tabel. qualifier adalah sysname, dengan default NULL. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (kualifikasi.pemilik.nama). Di SQL Server, kolom ini mewakili nama database. Dalam beberapa produk, ini mewakili nama server lingkungan database tabel.
Mengembalikan Nilai Kode
Tidak ada
Tataan Hasil
| Nama kolom | Jenis data | Deskripsi |
|---|---|---|
| TABLE_QUALIFIER | nama sysname | Nama kualifikasi tabel. Bidang ini bisa NULL. |
| TABLE_OWNER | nama sysname | Nama pemilik tabel. Bidang ini selalu mengembalikan nilai. |
| TABLE_NAME | nama sysname | Nama tabel. Di SQL Server, kolom ini mewakili nama tabel seperti yang tercantum dalam tabel sysobjects. Bidang ini selalu mengembalikan nilai. |
| COLUMN_NAME | nama sysname | Nama kolom, untuk setiap kolom TABLE_NAME dikembalikan. Di SQL Server, kolom ini mewakili nama kolom seperti yang tercantum dalam tabel sys.columns. Bidang ini selalu mengembalikan nilai. |
| KEY_SEQ | smallint | Nomor urut kolom dalam kunci primer multikolom. |
| PK_NAME | nama sysname | Pengidentifikasi kunci primer. Mengembalikan NULL jika tidak berlaku untuk sumber data. |
Keterangan
sp_pkeys mengembalikan informasi tentang kolom yang secara eksplisit ditentukan dengan batasan KUNCI PRIMER. Karena tidak semua sistem mendukung kunci primer bernama secara eksplisit, pelaksana gateway menentukan apa yang merupakan kunci primer. Perhatikan bahwa istilah kunci primer mengacu pada kunci primer logis untuk tabel. Diharapkan bahwa setiap kunci yang terdaftar sebagai kunci primer logis memiliki indeks unik yang ditentukan di dalamnya. Indeks unik ini juga dikembalikan dalam sp_statistics.
Prosedur tersimpan sp_pkeys setara dengan SQLPrimaryKeys di ODBC. Hasil yang dikembalikan diurutkan berdasarkan TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, dan KEY_SEQ.
Izin
Memerlukan izin SELECT pada skema.
Contoh
Contoh berikut mengambil kunci primer untuk HumanResources.Department tabel dalam AdventureWorks2012 database.
USE AdventureWorks2012;
GO
EXEC sp_pkeys @table_name = N'Department'
,@table_owner = N'HumanResources';
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut mengambil kunci primer untuk DimAccount tabel dalam AdventureWorksPDW2012 database. Ini mengembalikan nol baris yang menunjukkan bahwa tabel tidak memiliki kunci primer.
-- Uses AdventureWorks
EXEC sp_pkeys @table_name = N'DimAccount';
Lihat juga
Prosedur Tersimpan Katalog (Transact-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)
