Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Warehouse di Microsoft Fabric
Mengembalikan informasi kunci utama untuk satu tabel di lingkungan saat ini.
Sintaks
Sintaks untuk 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' ]
[ ; ]
Argumen
[ @table_name = ] N'table_name'
Menentukan tabel yang akan mengembalikan informasi. @table_name adalah sysname, tanpa default. Pencocokan pola kartubebas tidak didukung.
[ @table_owner = ] N'table_owner'
Menentukan pemilik tabel dari tabel yang ditentukan. @table_owner adalah sysname, dengan default NULL
. Pencocokan pola kartubebas tidak didukung. Jika @table_owner tidak ditentukan, aturan visibilitas tabel default dari sistem manajemen database (DBMS) yang mendasar berlaku.
Di SQL Server, jika pengguna saat ini memiliki tabel dengan nama yang ditentukan, kolom tabel tersebut dikembalikan. Jika @table_owner tidak ditentukan, dan pengguna saat ini tidak memiliki tabel dengan @table_name yang ditentukan, prosedur ini mencari tabel dengan @table_name yang ditentukan oleh pemilik database. Jika ada, kolom tabel tersebut dikembalikan.
[ @table_qualifier = ] N'table_qualifier'
Kualifikasi tabel. @table_qualifier adalah sysname, dengan default NULL
. Berbagai produk DBMS mendukung penamaan tiga bagian untuk tabel (<qualifier>.<owner>.<name>
). 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 berupa 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 yang TABLE_NAME dikembalikan. Di SQL Server, kolom ini mewakili nama kolom seperti yang sys.columns tercantum dalam tabel. Bidang ini selalu mengembalikan nilai. |
KEY_SEQ |
smallint | Nomor urut kolom dalam kunci primer multikolom. |
PK_NAME |
nama sysname | Pengidentifikasi kunci utama. Mengembalikan NULL jika tidak berlaku untuk sumber data. |
Keterangan
sp_pkeys
mengembalikan informasi tentang kolom yang secara eksplisit ditentukan dengan PRIMARY KEY
batasan. Karena tidak semua sistem mendukung kunci primer bernama secara eksplisit, pelaksana gateway menentukan apa yang merupakan kunci primer. Istilah kunci primer mengacu pada kunci primer logis untuk tabel. Setiap kunci yang tercantum sebagai kunci primer logis diharapkan memiliki indeks unik yang ditentukan di dalamnya. Indeks unik ini juga dikembalikan dalam sp_statistics
.
Prosedur sp_pkeys
tersimpan setara dengan SQLPrimaryKeys
di ODBC. Hasil diurutkan berdasarkan TABLE_QUALIFIER
, TABLE_OWNER
, TABLE_NAME
, dan KEY_SEQ
.
Izin
SELECT
Memerlukan izin pada skema.
Contoh
Sampel kode Transact-SQL dalam artikel ini menggunakan AdventureWorks2022
database sampel atau AdventureWorksDW2022
, yang dapat Anda unduh dari halaman beranda Sampel Microsoft SQL Server dan Proyek Komunitas.
Contoh berikut mengambil kunci primer untuk HumanResources.Department
tabel dalam AdventureWorks2022
database.
USE AdventureWorks2022;
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 baris nol yang menunjukkan bahwa tabel tidak memiliki kunci primer.
-- Uses AdventureWorksPDW
EXEC sp_pkeys @table_name = N'DimAccount';