Cara mengedit data dalam kisi hasil di SQL Server Management Studio

95

Saya ingin mengedit beberapa nilai baris setelah saya mendapatkan output kueri di kisi hasil. Memang benar bahwa kita dapat mengklik kanan tabel dan mengatakan buka tabel untuk mendapatkan keluaran tabel yang dapat diedit, tetapi yang saya inginkan adalah keluaran kueri yang dapat diedit, hanya baris tertentu yang cocok dengan kriteria saya, dan mengeditnya di kisi hasil.

Bisakah ini mungkin di dalam Microsoft SQL Server Management Studio Express?

bi2mon
sumber
1
Tandai sebagai duplikat dengan stackoverflow.com/questions/1535469/… ? Ini juga memiliki solusi yang berfungsi penuh
Brad
3
@Brad - Jawaban atas pertanyaan yang ditautkan hanya berfungsi jika Anda menggunakan satu tabel, yaitu tanpa gabungan. Setelah Anda mulai menggabungkan 2 atau 3 tabel, Anda tidak dapat lagi melakukan ini. Akan menarik jika ada solusi lain.
Francis Rodgers
2
Baca jawaban @Yves A Martin di bawah ini untuk alternatif pengeditan tabel yang BERGABUNG.
jaredbaszler

Jawaban:

86

Anda dapat melakukan sesuatu yang serupa dengan yang Anda inginkan. Klik kanan pada tabel dan pilih "edit 200 baris teratas" (jika Anda menggunakan SQL Server 2008) atau "buka tabel" di SQL Server 2005. Setelah Anda sampai di sana, ada tombol di bagian atas yang bertuliskan "SQL"; ketika Anda mengkliknya, ini memungkinkan Anda menulis pernyataan SQL dan Anda dapat mengedit hasilnya jika Anda mengklik sel yang ingin Anda ubah.

Lamak
sumber
1
Ini adalah 2019, versi terbarunya adalah SSMS 2017, pendekatan yang sama harus digunakan untuk mengedit sel grid! Desain UI yang buruk!
S. Serpooshan
77

Ya, ini mungkin. Klik kanan pada tabel dan Klik Edit Top 200 Rowsseperti yang ditunjukkan pada gambar di bawah ini

masukkan deskripsi gambar di sini

Kemudian klik di mana saja di dalam kisi hasil, untuk mengaktifkan SQLIkon "Show Sql Pane". Ini akan membuka editor sql untuk tabel yang Anda pilih untuk diedit, di sini Anda dapat menulis kueri sql Anda sendiri dan kemudian Anda dapat langsung mengedit kumpulan hasil kueri.

masukkan deskripsi gambar di sini

Belajar
sumber
25

Cara melakukannya adalah dengan:

  • mengubah kueri pemilihan Anda menjadi tampilan
  • klik kanan pada tampilan dan pilih Edit All Rows (Anda akan mendapatkan kisi nilai yang dapat Anda edit - meskipun nilainya berasal dari tabel yang berbeda).

Anda juga dapat menambahkan pemicu Sisipkan / Pembaruan ke tampilan yang memungkinkan Anda untuk mengambil nilai dari bidang tampilan, lalu menggunakan T-SQL untuk mengelola pembaruan ke beberapa tabel.

Yves A Martin
sumber
1
+1 - Ini adalah cara terbaik dan termudah untuk mengedit tabel yang BERGABUNG. Meskipun ini terlalu banyak pekerjaan untuk menyelesaikan tugas ini, ini adalah satu-satunya cara saya dapat melakukannya.
jaredbaszler
Anda tidak dapat mengedit tabel JOINED. Hanya pernyataan non GABUNG SQL. Semua sel saya tidak dapat diedit, jika saya memiliki GABUNG.
Charles Robertson
20

SSMS - Klik Kanan Hasil Edit 200 | Opsi | Panel | SQL - edit pernyataan tersebut.

Ta01
sumber
SSMS 2014, lewati langkah "Opsi".
Denise Skidmore
17

Tidak. Tidak ada cara untuk mengedit kisi hasil. Kisi hasil terutama untuk menampilkan tujuan kueri yang Anda jalankan.

Ini karena siapa pun dapat menjalankan kueri yang kompleks. Mudah-mudahan untuk rilis berikutnya mereka akan menyertakan fungsionalitas semacam ini.

Saya harap itu menjawab pertanyaan Anda.

mr.b.
sumber
6
Saya tidak mengerti mengapa orang memilih jawaban Anda. Itu sebenarnya benar. Setelah Anda menggunakan gabungan dalam kueri Anda, Anda tidak dapat mengedit hasil menggunakan metode yang disarankan dalam jawaban mana pun sejauh ini. +1 dari saya.
Francis Rodgers
Anda dapat menyalin kueri ke panel edit kisi SQL, yang disinggung oleh jawaban lain.
Denise Skidmore
17

Jawaban yang diberikan masih valid. Tidak ada perubahan dalam SSMS (SQL Server 2016) yang dibuat terkait hal itu.

Anda juga dapat menggunakan panel kriteria, setelah melakukan "Edit 200 Baris Teratas".

Edit 200 menu konteks Teratas

  1. Tampilkan panel kriteria
  2. Masukkan beberapa kriteria
  3. Edit data secara langsung di kisi hasil

Buka panel kriteria

Selain itu, jumlah baris untuk perintah tersebut dapat disesuaikan dalam opsi SSMS Anda.

masukkan deskripsi gambar di sini

Ricardo C
sumber
10

UPDATE
karena Anda dapat melihat solusi yang benar dalam Jawaban pembelajaran , Dalam manajemen SQL server 2014 Anda dapat
1. klik " Edit Top 200 Rows "
dan kemudian
2. klik " Show SQL Pane (ctrl + 3) "
dan
3. menghapus TOP ( 200) dari kueri pemilihan


Mengacu pada jawaban Shen Lance tidak ada cara untuk mengedit Hasil kueri pemilihan. dan jawaban lainnya hanya untuk pemilihan normal dan hanya untuk 200 record.

Hamid
sumber
5

Ya, Anda dapat mengedit hasil yang digabungkan. (setidaknya di SSMS 2008 R2) Setelah Anda mengedit salah satu nilai hasil di Tampilan yang menggunakan gabungan, Anda harus menjalankan kueri lagi untuk menyegarkan hasil.

Anda juga perlu memastikan SSMS dikonfigurasi untuk mengizinkan "Edit Semua Baris" ... untuk melakukan ini di SSMS - Alat | Pilihan | Penjelajah objek SQL Server | Perintah ... perluas Tabel dan Pilihan Tampilan ... beri nilai 0 pada "Nilai untuk perintah Edit Top n Baris" ... dapat melakukan ini untuk memilih juga.

Tanggapan Yves A Martin 100% benar!

rampok

Rob Ainscough
sumber
5

Cukup pilih "Edit 200 baris Teratas", tekan Ctrl + 3 di wilayah edit kisi (atau klik "Tampilkan Panel SQL") dan edit kueri ...

Namun harap diperhatikan bahwa ini hanya akan berfungsi untuk kueri yang tidak berisi "gabung"

Tom
sumber
4

Pertama-tama klik kanan dongeng pilih 'Edit All Rows', pilih 'Query Designer -> Pane -> SQL', setelah itu Anda dapat mengedit keluaran kueri di grid.

Jack.one
sumber
3

Jika Anda perlu sering melakukan pengeditan dalam sel pada database SQL, HeidiSQL bekerja dengan baik, sangat mudah digunakan, dan gratis / open source (donasi diterima).

Awalnya ditulis untuk MySQL, sekarang dapat menangani SQL Server, dan memiliki dukungan PostgreSQL eksperimental (per Agustus 2014) juga.

Sean O
sumber
3

Klik kanan pada tabel mana pun di dB yang Anda minati atau database apa pun di server menggunakan master jika ada gabungan atau menggunakan beberapa dB. Pilih "edit 200 baris teratas". Pilih tombol "SQL" di bilah tugas. Salin dan tempel kode Anda di atas kode yang ada dan jalankan kembali. Sekarang Anda dapat mengedit kumpulan hasil kueri Anda. Sherry ;-)

Sampel Sherry R.
sumber
Itu Membantu A Lit.
Asad Ali
2

Jika kueri ditulis sebagai tampilan, Anda bisa mengedit tampilan dan memperbarui nilai. Memperbarui nilai tidak dimungkinkan untuk semua tampilan. Ini hanya mungkin untuk tampilan tertentu. Lihat Memodifikasi Data Melalui View MSDN Link untuk informasi lebih lanjut. Anda dapat membuat tampilan untuk kueri dan mengedit 200 baris seperti yang diberikan di bawah ini:

masukkan deskripsi gambar di sini

Venkataraman R
sumber
Mengapa ada suara negatif di sini. Pertanyaannya tidak spesifik untuk pengeditan tabel. Pertanyaannya adalah tentang, bagaimana kita bisa mengedit kisi kumpulan hasil untuk keluaran kueri apa pun, yang dia dapatkan. Saya menyarankan, jika memungkinkan, dia dapat membuat tampilan untuk kueri dan mengedit baris.
Venkataraman R
0
  1. Untuk memperjelas: Opsi "Nilai untuk perintah Edit Baris Teratas" tidak ada hubungannya dengan fakta jika kumpulan hasil dapat diedit atau tidak. Ini hanyalah cara untuk membatasi kumpulan hasil.

  2. Mengedit kumpulan hasil kueri berdasarkan satu dan hanya satu tabel jelas selalu memungkinkan.

  3. Kumpulan hasil dari kueri yang didasarkan pada lebih dari satu tabel berada dalam kondisi berikut ini: Anda dapat mengedit bidang dalam kumpulan hasil sekaligus jika mereka termasuk dalam satu dan hanya satu tabel berbasis dalam kueri! Jika kolomnya adalah Primary Key, maka Anda harus memenuhi refresh / "Execute SQL" (Ctrl + R) setelah setiap update baris, agar dapat mengedit baris di lain waktu. Jika kolomnya bukan Primary Key, maka Anda tidak perlu memenuhi refresh / "Execute SQL" (Ctrl + R).

Saya telah mengujinya di SQL Server 2008 - 2016!

Asg
sumber