Bagaimana cara daftar primary key dari tabel SQL Server?
Pertanyaan sederhana, bagaimana cara daftar primary key dari suatu tabel dengan T-SQL? Aku tahu bagaimana untuk mendapatkan indeks di atas meja, tetapi dapat't ingat bagaimana untuk mendapatkan PK.
91
25
It's umumnya direkomendasikan praktek sekarang untuk menggunakan
sys.*
pemandanganINFORMATION_SCHEMA
di SQL Server, jadi kecuali anda're perencanaan migrasi database saya akan menggunakan mereka. Berikut ini's bagaimana anda akan melakukannya dengansys.*
views:Ini adalah solusi yang hanya menggunakan sys-tabel.
Ini daftar semua tombol utama di database. Kembali skema, nama table, nama kolom dan benar kolom sort order untuk setiap primary key.
Jika anda ingin mendapatkan kunci primer untuk tabel tertentu, maka anda perlu untuk filter pada
SchemaName
danNamatabel
.IMHO, solusi ini sangat generik dan tidak menggunakan string literal, sehingga akan berjalan pada mesin apapun.
Berikut ini's cara lain dari pertanyaan dapatkan tabel primary key menggunakan sql query:
Menggunakan
KEY_COLUMN_USAGE
untuk menentukan kendala untuk tabel tertentu Kemudian menggunakanOBJECTPROPERTY(id, 'IsPrimaryKey')
untuk menentukan apakah masing-masing adalah kunci utamaAku suka INFORMATION_SCHEMA teknik, tapi yang lain saya've yang digunakan adalah: exec sp_pkeys 'table'
Menggunakan MS SQL Server anda dapat melakukan hal-hal berikut:
Anda juga dapat menyaring pada table_name kolom jika anda ingin meja tertentu.
--Ini adalah Versi Modifikasi yang adalah juga sebuah contoh untuk Co-Terkait Query
Ini harus daftar semua kendala ( primary Key dan Foreign key ) dan di akhir query masukan nama tabel
Untuk referensi silahkan baca thru - http://blogs.msdn.com/b/sqltips/archive/2005/09/16/469136.aspx
Sistem prosedur yang tersimpan
sp_help
akan memberikan anda informasi. Mengeksekusi pernyataan berikut:Terima Kasih Orang.
Dengan sedikit variasi saya menggunakannya untuk menemukan semua kunci utama untuk semua tabel.
Yang satu ini memberikan anda kolom yang PK.
Berikut query akan menampilkan kunci primer dari tabel tertentu:
Saya menceritakan sebuah Teknik sederhana yang saya ikuti
menjalankan kode ini sebagai query. Menyebutkan nama tabel di tempat table_name yang anda ingin tahu Kunci Primer (don't lupa tanda kutip tunggal). Hasilnya akan tampil seperti Gambar terlampir. Berharap ini akan membantu anda
Jika Primary Key dan jenis yang dibutuhkan, query ini mungkin berguna:
Versi ini menampilkan skema, tabel nama dan memerintahkan, daftar dipisahkan koma dari kunci primer. Object_Id() tidak bekerja untuk link server jadi kita filter dengan nama tabel.
Tanpa MENGGANTI(Si1.Column_Name, '', '') itu akan menunjukkan xml tag pembuka dan penutup untuk Column_Name pada database saya adalah pengujian pada. Saya tidak yakin mengapa database diperlukan untuk menggantikan 'Column_Name' jadi jika seseorang tahu maka silakan komentar.
Dan pola yang sama menggunakan George's query:
Untuk daftar dipisahkan koma dari kolom kunci utama untuk diberikan TableName dan Skema:
Mungkin saya sarankan yang lebih akurat jawaban sederhana untuk pertanyaan yang asli di bawah ini
Catatan: