Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

11 Cara Mengambil Kunci Utama di SQL Server (Contoh T-SQL)

Seringkali ada banyak cara untuk melakukan hal yang sama (atau serupa) di SQL Server. Mengambil semua kunci utama dari database (atau bahkan hanya kunci utama untuk tabel tertentu) adalah contohnya.

Artikel ini menyajikan sebelas pendekatan berbeda untuk mengambil informasi kunci utama di SQL Server.

Beberapa di antaranya akan lebih berguna daripada yang lain, tergantung pada situasi Anda yang sebenarnya.

Contoh 1 – Prosedur Tersimpan Sistem sp_pkeys

Jika Anda hanya menginginkan kunci utama untuk tabel tertentu, sp_pkeys prosedur tersimpan sistem mungkin adalah cara tercepat dan termudah untuk melakukannya. Untuk melakukannya, cukup berikan nama tabel ke prosedur.

Seperti ini:

Artis EXEC sp_pkeys;

Hasil (menggunakan keluaran vertikal):

TABLE_QUALIFIER | MusikTABLE_OWNER | dboTABLE_NAME | ArtisCOLUMN_NAME | ArtistIdKEY_SEQ | 1PK_NAME | PK__Artists__25706B50FCD918B1

Dalam hal ini saya meminta kunci utama dari Artis meja. Ini mengembalikan nama kunci utama ( PK__Artists__25706B50FCD918B1 ), nama database ( Musik ), nama tabel, nama kolom ( ArtistId ), ditambah informasi lainnya.

Atau, saya dapat secara eksplisit menentukan semua argumen untuk mendapatkan hasil yang sama:

EXEC sp_pkeys @table_name =Artis, @table_owner =dbo, @table_qualifier =Musik;

Contoh 2 – Tampilan Sistem KEY_COLUMN_USAGE

INFORMATION_SCHEMA.KEY_COLUMN_USAGE tampilan sistem mengembalikan satu baris untuk setiap kolom yang dibatasi sebagai kunci dalam database saat ini. Oleh karena itu, Anda juga akan mendapatkan kunci asing yang dikembalikan dengan tampilan ini.

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAMEFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE;

Hasil:

+-------------+---------------+--------------- ----------------+| TABEL_NAME | COLUMN_NAME | CONSTRAINT_NAME ||--------------+---------------+---------------- ---------------|| Album | Id Artis | FK_Albums_Artists || Album | GenreId | FK_Albums_Genres || Album | Id Album | PK__Albums__97B4BE379FC780BD || Artis | Id Artis | PK__Artis__25706B50FCD918B1 || Genre | GenreId | PK__Genres__0385057E88BB96F8 |+--------------+---------------+---------------- ---------------+

Kita dapat melihat bahwa ini mengembalikan batasan dari semua tabel. Kami juga dapat menambahkan WHERE klausa untuk mempersempit hasil ke tabel tertentu.

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAMEFROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE TABLE_NAME ='Artis';

Hasil:

+-------------+---------------+--------------- ----------------+| TABEL_NAME | COLUMN_NAME | CONSTRAINT_NAME ||--------------+---------------+---------------- ---------------|| Artis | Id Artis | PK__Artists__25706B50FCD918B1 |+--------------+---------------+---------------- ---------------+

Dalam contoh ini, saya mempersempit hasil menjadi hanya kolom tampilan yang saya minati, tetapi Anda juga dapat menggunakan tanda bintang (* ) wildcard untuk mengembalikan semua kolom.

SELECT *FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERE TABLE_NAME ='Artis';

Hasil (menggunakan keluaran vertikal):

CONSTRAINT_CATALOG | MusikCONSTRAINT_SCHEMA | dboCONSTRAINT_NAME | PK__Artis__25706B50FCD918B1TABLE_CATALOG | MusicTABLE_SCHEMA | dboTABLE_NAME | ArtisCOLUMN_NAME | ArtistIdORDINAL_POSITION | 1

Contoh 3 – Tampilan Sistem CONSTRAINT_COLUMN_USAGE

Ini mirip dengan contoh sebelumnya. INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE tampilan sistem mengembalikan satu baris untuk setiap kolom dalam database saat ini yang memiliki batasan yang ditentukan pada kolom. Seperti INFORMATION_SCHEMA.KEY_COLUMN_USAGE Anda juga akan mendapatkan kunci asing yang dikembalikan dengan tampilan ini. Namun, INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE tidak terbatas pada batasan utama saja.

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAMEFROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE;

Hasil:

+-------------+---------------+--------------- ----------------+| TABEL_NAME | COLUMN_NAME | CONSTRAINT_NAME ||--------------+---------------+---------------- ---------------|| Album | Id Artis | FK_Albums_Artists || Album | GenreId | FK_Albums_Genres || Album | Id Album | PK__Albums__97B4BE379FC780BD || Artis | Id Artis | PK__Artis__25706B50FCD918B1 || Genre | GenreId | PK__Genres__0385057E88BB96F8 |+--------------+---------------+---------------- ---------------+

Anda dapat menggunakan WHERE klausa untuk mengembalikan hanya tabel atau kolom tertentu:

SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAMEFROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGEWHERE COLUMN_NAME ='ArtistId';

Hasil:

+-------------+---------------+--------------- ----------------+| TABEL_NAME | COLUMN_NAME | CONSTRAINT_NAME ||--------------+---------------+---------------- ---------------|| Album | Id Artis | FK_Albums_Artists || Artis | Id Artis | PK__Artists__25706B50FCD918B1 |+--------------+---------------+---------------- ---------------+

Dalam hal ini saya menentukan nama kolom, sehingga mengembalikan semua batasan pada kolom dengan nama itu. Ternyata, database menggunakan nama kolom yang sama di dua tabel yang berbeda. Satu memiliki batasan kunci asing, yang lain kunci utama. Oleh karena itu kedua baris dikembalikan.

Sekali lagi, Anda dapat menggunakan tanda bintang (* ) wildcard untuk mengembalikan semua kolom.

SELECT *FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGEWHERE TABLE_NAME ='Artis';

Hasil (menggunakan keluaran vertikal):

TABLE_CATALOG | MusicTABLE_SCHEMA | dboTABLE_NAME | ArtisCOLUMN_NAME | ArtistIdCONSTRAINT_CATALOG | MusikCONSTRAINT_SCHEMA | dboCONSTRAINT_NAME | PK__Artists__25706B50FCD918B1

Dalam contoh ini saya membatasi output hanya pada batasan pada tabel tertentu.

Contoh 4 – Tampilan Sistem CONSTRAINT_TABLE_USAGE

INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE tampilan sistem mengembalikan satu baris untuk setiap tabel dalam database saat ini yang memiliki batasan yang ditentukan pada tabel.

PILIH TABLE_NAME, CONSTRAINT_NAME DARI INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE;

Hasil:

+-------------+------------------------------- +| TABEL_NAME | CONSTRAINT_NAME ||--------------+-------------------------------| | Artis | PK__Artis__25706B50FCD918B1 || Genre | PK__Genres__0385057E88BB96F8 || Album | PK__Albums__97B4BE379FC780BD || Album | FK_Albums_Artists || Album | FK_Albums_Genres |+--------------+-------------------------------+ 

Tampilan ini tidak mengembalikan nama kolom tempat batasan digunakan, jadi mungkin tidak berguna bagi Anda, bergantung pada kebutuhan Anda.

Berikut adalah contoh yang menunjukkan semua data yang dikembalikan oleh tampilan ini untuk Genre tabel:

SELECT * FROM INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGEWHERE TABLE_NAME ='Genre';

Hasil:

TABLE_CATALOG | MusicTABLE_SCHEMA | dboTABLE_NAME | GenreCONSTRAINT_CATALOG | MusikCONSTRAINT_SCHEMA | dboCONSTRAINT_NAME | PK__Genres__0385057E88BB96F8

Contoh 5 – Tampilan Sistem TABLE_CONSTRAINTS

INFORMATION_SCHEMA.TABLE_CONSTRAINTS tampilan sistem mengembalikan satu baris untuk setiap batasan tabel dalam database saat ini.

SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPEFROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS;

Hasil:

+-------------+------------------------------- +-------------------+| TABEL_NAME | CONSTRAINT_NAME | CONSTRAINT_TYPE ||--------------+-------------------------------+ -------------------|| Artis | PK__Artis__25706B50FCD918B1 | KUNCI UTAMA || Genre | PK__Genres__0385057E88BB96F8 | KUNCI UTAMA || Album | PK__Albums__97B4BE379FC780BD | KUNCI UTAMA || Album | FK_Albums_Artists | KUNCI ASING || Album | FK_Albums_Genres | KUNCI ASING |+--------------+------------------------------- +-------------------+

Tampilan ini tidak memberikan nama kolom, tetapi memberikan jenis batasan. Oleh karena itu, Anda dapat mempersempit hasil menjadi hanya kunci utama:

SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPEFROM INFORMATION_SCHEMA.TABLE_CONSTRAINTSWHERE CONSTRAINT_TYPE ='PRIMARY KEY';

Hasil:

+-------------+------------------------------- +-------------------+| TABEL_NAME | CONSTRAINT_NAME | CONSTRAINT_TYPE ||--------------+-------------------------------+ -------------------|| Artis | PK__Artis__25706B50FCD918B1 | KUNCI UTAMA || Genre | PK__Genres__0385057E88BB96F8 | KUNCI UTAMA || Album | PK__Albums__97B4BE379FC780BD | KUNCI UTAMA |+--------------+------------------------------- +-------------------+

Berikut adalah contoh yang menggunakan karakter pengganti (* ) karakter untuk mengembalikan semua data untuk batasan pada Artis tabel:

SELECT *FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTSWHERE TABLE_NAME ='Artis';

Hasil:

CONSTRAINT_CATALOG | MusikCONSTRAINT_SCHEMA | dboCONSTRAINT_NAME | PK__Artis__25706B50FCD918B1TABLE_CATALOG | MusicTABLE_SCHEMA | dboTABLE_NAME | ArtisCONSTRAINT_TYPE | KEYIS_DEFERRABLE UTAMA | NOINITIALLY_DEFERRED | TIDAK

Contoh 6 – Tampilan Sistem key_constraints

sys.key_constraints tampilan sistem berisi baris untuk setiap objek yang merupakan kunci utama atau batasan unik. Oleh karena itu kita dapat menggunakan kode berikut untuk mengembalikan semua batasan kunci utama dalam database, bersama dengan tabel yang relevan untuk setiap kunci utama:

SELECT OBJECT_NAME(parent_object_id) AS 'Tabel', nameFROM sys.key_constraints WHERE type ='PK';

Hasil:

+---------+-------------------------------+| Tabel | nama ||---------+-------------------------------|| Artis | PK__Artis__25706B50FCD918B1 || Genre | PK__Genres__0385057E88BB96F8 || Album | PK__Albums__97B4BE379FC780BD |+---------+--------------------------------+

Tentu saja, Anda dapat menghapus WHERE klausa untuk mengembalikan kedua kunci utama dan kunci unik.

Contoh sebelumnya menggunakan OBJECT_NAME() fungsi untuk mengembalikan nama tabel induk, bukan object_id-nya. Jika saya tidak menggunakan OBJECT_NAME() fungsi, hasilnya akan terlihat seperti ini:

SELECT parent_object_id, nameFROM sys.key_constraintsWHERE type ='PK';

Hasil:

+--------------------+------------------------- ------+| parent_object_id | nama ||--------------------+-------------------------- -----|| 885578193 | PK__Artis__25706B50FCD918B1 || 917578307 | PK__Genres__0385057E88BB96F8 || 949578421 | PK__Albums__97B4BE379FC780BD |+--------------------+-------------------------- -----+

parent_object_id dikembalikan sebagai ganti nama objek induk. OBJECT_NAME() fungsi memudahkan kita untuk memahami tabel mana yang diterapkan setiap kunci.

Berikut adalah contoh di mana saya menggunakan wildcard (* ) karakter untuk mengembalikan semua kolom untuk kunci utama pada Album tabel:

SELECT *FROM sys.key_constraintsWHERE type ='PK'AND OBJECT_NAME(parent_object_id) ='Album';

Hasil:

nama | PK__Albums__97B4BE379FC780BDobject_id | 965578478principal_id | NULLschema_id | 1parent_object_id | 949578421jenis | PKtype_desc | PRIMARY_KEY_CONSTRAINTbuat_tanggal | 02-05-2019 12:56:06.377modify_date | 02-05-2019 12:56:06.377is_ms_shipped | 0is_diterbitkan | 0is_schema_published | 0unique_index_id | 1is_sistem_bernama | 1is_diberlakukan | 1

Contoh 7 – Tampilan Sistem sys.objects

sys.objects tampilan sistem berisi baris untuk setiap objek cakupan skema yang ditentukan pengguna yang dibuat dalam database. Jadi ini berisi tabel dan kunci utama kami.

Kita dapat mengambil kueri sebelumnya dan mengganti key_constraints dengan objects dan kita akan mendapatkan hasil yang sama:

SELECT OBJECT_NAME(parent_object_id) AS 'Tabel', nameFROM sys.objects WHERE type ='PK';

Hasil:

+---------+-------------------------------+| Tabel | nama ||---------+-------------------------------|| Artis | PK__Artis__25706B50FCD918B1 || Genre | PK__Genres__0385057E88BB96F8 || Album | PK__Albums__97B4BE379FC780BD |+---------+--------------------------------+

Berikut adalah contoh yang mengembalikan semua data untuk PK__Genres__0385057E88BB96F8 kunci utama:

SELECT *FROM sys.objectsWHERE name ='PK__Genres__0385057E88BB96F8';

Hasil (menggunakan keluaran vertikal):

nama | PK__Genres__0385057E88BB96F8object_id | 933578364principal_id | NULLschema_id | 1parent_object_id | 917578307tipe | PKtype_desc | PRIMARY_KEY_CONSTRAINTbuat_tanggal | 02-05-2019 12:56:06.110modify_date | 02-05-2019 12:56:06.110is_ms_shipped | 0is_diterbitkan | 0is_schema_published | 0

Contoh 8 – Tampilan Sistem REFERENTIAL_CONSTRAINTS

Yang ini sedikit berlebihan, tetapi bisa berguna tergantung pada situasi Anda. Dan secara teknis, itu mengembalikan (beberapa) kunci utama.

INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS tampilan sistem mengembalikan satu baris untuk setiap FOREIGN KEY kendala dalam database saat ini. Jadi tujuannya sebenarnya untuk mengembalikan kunci asing – bukan kunci utama. Namun, tampilan ini dapat berguna jika Anda hanya ingin melihat semua kunci utama yang memiliki kunci asing terkait. Ini bukan metode yang dapat diandalkan untuk digunakan jika Anda ingin melihat semua kunci utama terlepas dari apakah ada kunci asing yang terkait.

Ini contohnya:

SELECT CONSTRAINT_NAME, UNIQUE_CONSTRAINT_NAMEFROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;

Hasil:

+-------------------+-------------------------- -----+| CONSTRAINT_NAME | UNIQUE_CONSTRAINT_NAME ||-------------------+--------------------------- ----|| FK_Albums_Artists | PK__Artis__25706B50FCD918B1 || FK_Albums_Genres | PK__Genres__0385057E88BB96F8 |+-------------------+--------------------------- ----+

Seperti yang Anda lihat, ini hanya mengembalikan kunci utama yang memiliki kunci asing terkait. Untuk lebih tepatnya, sebenarnya sebaliknya – ini mengembalikan semua kunci asing, bersama dengan UNIQUE yang terkait. kendala.

Jadi jika kita membandingkan hasil ini dengan hasil dari contoh sebelumnya, kita dapat melihat bahwa hanya dua kunci utama yang dikembalikan (dibandingkan dengan tiga dari contoh sebelumnya). Ini karena salah satu kunci utama dalam database ini ( PK__Albums__97B4BE379FC780BD ) tidak memiliki kunci asing terkait.

Berikut adalah contoh yang mengembalikan semua data untuk kunci asing yang PK__Artists__25706B50FCD918B1 adalah UNIQUE kendala:

SELECT *FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTSWHERE UNIQUE_CONSTRAINT_NAME ='PK__Artists__25706B50FCD918B1';

Hasil:

CONSTRAINT_CATALOG | MusikCONSTRAINT_SCHEMA | dboCONSTRAINT_NAME | FK_Albums_ArtistsUNIQUE_CONSTRAINT_CATALOG | MusikUNIQUE_CONSTRAINT_SCHEMA | dboUNIQUE_CONSTRAINT_NAME | PK__Artis__25706B50FCD918B1MATCH_OPTION | SIMPLEUPDATE_ATURAN | TANPA TINDAKANDELETE_ATURAN | TIDAK ADA TINDAKAN

Dalam hal ini, hanya satu kunci asing yang dikembalikan.

Seperti disebutkan, tampilan ini terutama untuk mengembalikan informasi kunci asing, jadi hanya gunakan metode ini jika Anda ingin melihat informasi kunci asing bersama dengan kunci utama yang terkait. Jangan gunakan metode ini jika Anda ingin melihat semua kunci utama terlepas dari apakah mereka memiliki kunci asing yang terkait.

Contoh 9 – Prosedur Tersimpan Sistem sp_fkeys

Metode ini mirip dengan metode sebelumnya, dalam arti mengembalikan informasi kunci asing. Itu juga mengembalikan kunci utama yang terkait dengan setiap kunci asing.

Contoh:

Artis EXEC sp_fkeys;

Hasil (menggunakan keluaran vertikal):

PKTABLE_QUALIFIER | MusikPKTABLE_OWNER | dboPKTABLE_NAME | ArtisPKCOLUMN_NAME | ArtistIdFKTABLE_QUALIFIER | MusikFKTABLE_OWNER | dboFKTABLE_NAME | AlbumFKCOLUMN_NAME | ArtistIdKEY_SEQ | 1UPDATE_ATURAN | 1HAPUS_ATURAN | 1FK_NAME | FK_Albums_ArtistsPK_NAME | PK__Artis__25706B50FCD918B1DEFERRABILITY | 7

Saya bisa saja menggunakan sintaks berikut (atau kombinasi dari argumen ini):

EXEC sp_fkeys @pktable_name =Artis, @pktable_owner =dbo, @pktable_qualifier =Musik, @fktable_name =Album, @fktable_owner =dbo, @fktable_qualifier =Musik;

Seperti contoh sebelumnya, metode ini tidak boleh diandalkan untuk mengembalikan semua kunci utama. Jika kunci utama tidak memiliki kunci asing terkait, kunci tersebut tidak akan dikembalikan.

Contoh 10 – Prosedur Tersimpan Sistem sp_helpconstraint

sp_helpconstraint prosedur tersimpan sistem mengembalikan daftar semua jenis batasan, nama yang ditentukan pengguna atau yang disediakan sistem, kolom di mana mereka telah didefinisikan, dan ekspresi yang mendefinisikan batasan (untuk DEFAULT dan CHECK batasan saja).

Oleh karena itu, Anda dapat menggunakannya untuk mengembalikan informasi tentang kunci utama di database Anda.

Contoh:

Album EXEC sp_helpconstraint;

Hasil:

+---------------+| Nama Objek ||---------------|| Album |+---------------+ -[ REKAM 1 ]--------------constraint_type | KUNCI ASINGconstraint_name | FK_Albums_Artistsdelete_action | Tidak ada Actionupdate_action | Tidak ada Actionstatus_enabled | Enabledstatus_for_replication | Is_For_Replicationconstraint_keys | ArtistId-[ REKAM 2 ]-------------------------constraint_type | kendala_nama | hapus_aksi | update_action | status_enabled | status_untuk_replikasi | kendala_kunci | REFERENSI Music.dbo.Artists (ArtistId)-[ REKAM 3 ]-------------------------constraint_type | KUNCI ASINGconstraint_name | FK_Albums_Genresdelete_action | Tidak ada Actionupdate_action | Tidak ada Actionstatus_enabled | Enabledstatus_for_replication | Is_For_Replicationconstraint_keys | GenreId-[ REKAM 4 ]-------------------------constraint_type | kendala_nama | hapus_aksi | update_action | status_enabled | status_untuk_replikasi | kendala_kunci | REFERENSI Music.dbo.Genres (GenreId)-[ REKAM 5 ]-------------------------constraint_type | KUNCI UTAMA (berkelompok)constraint_name | PK__Albums__97B4BE379FC780BDdelete_action | (t/a)update_action | (t/a)status_enabled | (t/a)status_untuk_replikasi | (t/a)constraint_keys | Id Album

Contoh 11 – Prosedur Tersimpan Sistem sp_help

sp_help prosedur tersimpan sistem melaporkan informasi tentang objek database (objek apa pun yang terdaftar di sys.sysobjects tampilan kompatibilitas), tipe data yang ditentukan pengguna, atau tipe data. Ini termasuk informasi tentang kunci utama.

Saat Anda menjalankan ini tanpa argumen apa pun, ini memberikan informasi tentang ringkasan informasi objek dari semua jenis yang ada di database saat ini dikembalikan (yaitu lot informasi).

Namun, Anda bisa memberikan nama tabel, dan itu akan mengembalikan informasi tentang tabel itu. Sekali lagi, Anda akan mendapatkan banyak informasi yang dikembalikan, tetapi di antaranya adalah informasi kunci utama.

Contoh:

EXEC sp_help Artis;

Hasil:

+---------+---------+------------+------------- ------------+| Nama | Pemilik | Ketik | Created_datetime ||---------+---------+------------+-------------- -----------|| Artis | dbo | tabel pengguna | 05-02-2019 12:56:05.840 |+---------+--------+------------+----- --------------------+ -[ REKAM 1 ]------------------------ -Nama_kolom | TipeId Artis | intComputed | tidakPanjang | 4Sebelumnya | 10 Skala | 0 Nullable | noTrimTrailingBlanks | (n/a)FixedLenNullInSource | (t/a)Kolasi | NULL-[ REKAM 2 ]-------------------------Column_name | JenisNama Artis | nvarcharComputed | tidakPanjang | 510Sebelumnya | Skala | Tidak dapat dibatalkan | noTrimTrailingBlanks | (n/a)FixedLenNullInSource | (t/a)Kolasi | SQL_Latin1_General_CP1_CI_AS-[ REKAM 3 ]-------------------------Column_name | AktifDariTipe | tanggalDihitung | tidakPanjang | 3Sebelumnya | 10 Skala | 0 Nullable | yesTrimTrailingBlanks | (n/a)FixedLenNullInSource | (t/a)Kolasi | NULL +------------+--------+-------------+------------ -----------+| Identitas | Benih | Kenaikan | Bukan Untuk Replikasi ||------------+--------+-------------+--------- --------------|| Id Artis | 1 | 1 | 0 |+------------+--------+-------------+----------- ------------+ +-------------------------------+| RowGuidCol ||-------------------------------|| Tidak ada kolom rowguidcol yang ditentukan. |+-------------------------------+ +--------------- --------------+| Data_located_on_filegroup ||-----------------------------|| UTAMA |+----------------------------+ +---------------- ---------------+---------------------------------- -----------------+--------------+| nama_indeks | indeks_deskripsi | index_keys ||-------------------------------+--------------- ------------------------------------+------------ -|| PK__Artis__25706B50FCD918B1 | berkerumun, unik, kunci utama yang terletak di PRIMARY | ArtistId |+-------------------------------+--------------- ------------------------------------+------------ -+ -[ REKAM 1 ]-------------------------constraint_type | KUNCI UTAMA (berkelompok)constraint_name | PK__Artists__25706B50FCD918B1delete_action | (t/a)update_action | (t/a)status_enabled | (t/a)status_untuk_replikasi | (t/a)constraint_keys | ArtistId +--------------------------------------+| Tabel direferensikan oleh kunci asing ||--------------------------------------|| Music.dbo.Albums:FK_Albums_Artists |+--------------------------------------+ 

Anda juga dapat memberikan nama kunci utama untuk mendapatkan beberapa informasi dasar tentangnya:

EXEC sp_help PK__Artists__25706B50FCD918B1;

Hasil:

+---------------------+--------+---- -------------+--------------+| Nama | Pemilik | Ketik | Created_datetime ||-------------------------------+---------+----- ------------+----------------------------|| PK__Artis__25706B50FCD918B1 | dbo | kunci utama cns | 02-05-2019 12:56:05.853 |+-------------------------------+------ ---+-----------------+------------------------+ 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Daftar Hierarki Jenis Peristiwa Pemicu di SQL Server 2017

  2. 3 Cara Mendapatkan Hari Pertama Bulan Ini di SQL Server

  3. Apa itu Logis DAN Operator di SQL Server - Tutorial SQL Server / TSQL Bagian 120

  4. bidang jumlah pyodbc to_sql salah atau kesalahan sintaksis

  5. Bagaimana Anda mentransfer atau mengekspor data SQL Server 2005 ke Excel?