Pertanyaan sederhana, bagaimana Anda membuat daftar kunci utama tabel dengan T-SQL? Saya tahu cara mendapatkan indeks di atas meja, tetapi tidak ingat cara mendapatkan PK.
sql
sql-server
tsql
swilliams
sumber
sumber
a
,b
danc
, (agar) kemudian meja saya memiliki kunci komposit utamaabc
?Biasanya praktik yang disarankan sekarang untuk menggunakan
sys.*
tampilanINFORMATION_SCHEMA
di SQL Server, jadi kecuali jika Anda berencana untuk memigrasi database, saya akan menggunakannya. Inilah cara Anda melakukannya dengansys.*
tampilan:sumber
Ini adalah solusi yang hanya menggunakan sys -tables.
Ini mencantumkan semua kunci utama dalam database. Ini mengembalikan skema, nama tabel, nama kolom dan urutan kolom yang benar untuk setiap kunci utama.
Jika Anda ingin mendapatkan kunci utama untuk tabel tertentu, Anda perlu memfilter
SchemaName
danTableName
.IMHO, solusi ini sangat umum dan tidak menggunakan literal string apa pun, sehingga dapat berjalan di mesin apa pun.
sumber
Berikut cara lain dari pertanyaan, dapatkan kunci utama tabel menggunakan kueri sql :
Ini digunakan
KEY_COLUMN_USAGE
untuk menentukan batasan untuk tabel tertentuKemudian digunakan untuk menentukan apakah masing-masing adalah kunci primer
OBJECTPROPERTY(id, 'IsPrimaryKey')
sumber
Saya suka teknik INFORMATION_SCHEMA, tetapi teknik lain yang pernah saya gunakan adalah: exec sp_pkeys 'table'
sumber
Apakah menggunakan MS SQL Server Anda dapat melakukan hal berikut:
Anda juga dapat memfilter pada kolom nama_tabel jika Anda menginginkan tabel tertentu.
sumber
--Ini adalah Versi Modifikasi lain yang juga merupakan contoh untuk Kueri Terkait Bersama
sumber
Ini harus mencantumkan semua batasan (Kunci utama dan Kunci Asing) dan di akhir kueri masukkan nama tabel
Untuk referensi, silakan baca melalui - http://blogs.msdn.com/b/sqltips/archive/2005/09/16/469136.aspx
sumber
sumber
Terimakasih teman.
Dengan sedikit variasi saya menggunakannya untuk menemukan semua kunci utama untuk semua tabel.
sumber
sumber
Yang ini memberi Anda kolom yang PK.
sumber
Prosedur tersimpan sistem
sp_help
akan memberi Anda informasi. Jalankan pernyataan berikut:sumber
Kueri di bawah ini akan mencantumkan kunci utama dari tabel tertentu :
sumber
Saya menceritakan Teknik sederhana yang saya ikuti
jalankan kode ini sebagai kueri. Sebutkan nama tabel Anda di tempat table_name yang ingin Anda ketahui Kunci Primernya (jangan lupa tanda kutip tunggal). Hasilnya akan terlihat seperti Gambar terlampir. Semoga bisa membantu Anda
sumber
Untuk daftar kolom kunci utama yang dipisahkan koma untuk NamaTabel dan Skema:
sumber
Cobalah ini:
sumber
Versi ini menampilkan skema, nama tabel, dan daftar kunci primer yang diurutkan dengan dipisahkan koma. Object_Id () tidak berfungsi untuk server tautan jadi kami memfilter berdasarkan nama tabel.
Tanpa REPLACE (Si1.Column_Name, '', '') itu akan menampilkan tag pembuka dan penutup xml untuk Column_Name pada database yang saya uji. Saya tidak yakin mengapa database memerlukan penggantian untuk 'Column_Name' jadi jika ada yang tahu silahkan berkomentar.
Dan pola yang sama menggunakan kueri George:
sumber
Saya menemukan ini berguna, memberikan daftar tabel dengan daftar kolom yang terpisah koma dan kemudian juga daftar terpisah koma yang merupakan kunci utama
sumber
sumber
Izinkan saya menyarankan jawaban sederhana yang lebih akurat untuk pertanyaan asli di bawah ini
Catatan:
sumber
Mungkin baru-baru ini diposting tetapi semoga ini akan membantu seseorang untuk melihat daftar kunci utama di server sql dengan menggunakan kueri t-sql ini:
Anda dapat melihat daftar semua kunci asing dengan menggunakan kueri ini jika Anda mungkin ingin:
sumber
Saya menemukan ini dari teman saya, sangat efektif jika Anda mencari semua kunci utama tabel di bawah skema tertentu.
sumber
Jika Anda ingin melakukan ORM Anda sendiri atau menghasilkan kode dari tabel tertentu, maka ini mungkin yang Anda cari:
Hasilnya akan terlihat seperti ini:
sumber
Jika Kunci Utama dan jenisnya diperlukan, kueri ini mungkin berguna:
sumber