sql server #region

163

dapatkah saya membuat wilayah dalam editor server sql (suka #regiondan #endregiondalam C #)?

Rauf
sumber

Jawaban:

272

Tidak juga, maaf! Tapi...

Menambahkan begindan end.. dengan komentar di begindaerah membuat yang akan terlihat seperti ini ... sedikit retas!

tangkapan layar kode wilayah ujung mulai

Kalau tidak, Anda hanya dapat memperluas dan menciutkan Anda tidak bisa mendikte apa yang harus diperluas dan diciutkan. Bukan tanpa alat pihak ketiga seperti SSMS Tools Pack .

Telinga Anjing
sumber
4
Pastikan Anda memiliki Pernyataan Garis Besar diaktifkan di bawah Editor Teks> Transact-SQL> Intellisense> Enable Intellisense
GatesReign
2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Meskipun semua pernyataan Transact-SQL valid dalam blok BEGIN ... END, pernyataan Transact-SQL tertentu tidak boleh dikelompokkan bersama dalam batch yang sama (blok pernyataan). Adakah yang bisa memberi tahu saya mengapa mereka tidak boleh dikelompokkan?
Jacob Phan
1
Retas yang berguna, tetapi jangan lupa untuk menambahkan gosetelah endpernyataan jika Anda ingin membuat beberapa wilayah / bagian.
marchWest
cemerlang! Terima kasih
rintisan
Baik! Jika Anda hanya memiliki blok komentar. Anda harus menambahkan sesuatu tanpa komentar di dalamnya. misalnya: print
pada
12

(Saya pengembang add-in SSMSBoost untuk SSMS)

Kami baru-baru ini menambahkan dukungan untuk sintaks ini ke add-in SSMSBoost kami.

--#region [Optional Name]
--#endregion

Ini juga memiliki opsi untuk secara otomatis "mengenali" daerah saat membuka skrip.

Andrei Rantsevich
sumber
2
Tidak apa-apa tapi tidak bekerja dengan cepat. Saya harus menutup dan membuka kembali file untuk menutup wilayah yang baru dibuat.
Martin Capodici
4
Ada opsi "reparse region", tersedia di menu SSMSBoost pada bilah alat. Jadi, tidak perlu membuka kembali file tersebut.
Andrei Rantsevich
Sayangnya ini memiliki bug. Jika pernyataan kode pertama dalam wilayah tersebut dikomentari, wilayah tersebut berakhir pada komentar terakhir di luar garis kode
Jeff
9

BEGIN ... END berfungsi, Anda hanya perlu menambahkan bagian yang dikomentari. Cara termudah untuk melakukan ini adalah menambahkan nama bagian! Rute lain adalah menambahkan blok komentar. Lihat di bawah:

BEGIN  -- Section Name
/* 
Comment block some stuff  --end comment should be on next line
*/

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END
BClaydon
sumber
6

Tidak di luar kotak di Sql Server Management Studio, tetapi ini adalah fitur dari Paket Alat SSMS yang sangat baik

Pero P.
sumber
7
Peringatan: harganya € 30 dengan demo 60 hari.
Martin Capodici
2
Ketika ini awalnya diposting, ekstensi itu gratis
Pero P.
4

Ini hanya masalah menggunakan lekukan teks di editor kueri.

Tampilan yang Diperluas:

Diperluas

Tampilan Runtuh:

Runtuh

Bharath theorare
sumber
3

Tidak, #region tidak ada dalam bahasa T-SQL.

Anda bisa mendapatkan kode-lipat menggunakan blok awal-akhir:

- daerah saya
mulai
    - kode di sini
akhir

Saya tidak yakin saya akan merekomendasikan untuk menggunakannya kecuali jika kode tidak dapat diterima kembali dengan cara lain!

Mat
sumber
2

Saya telah menggunakan teknik yang mirip dengan McVitie, dan hanya dalam prosedur tersimpan atau skrip yang cukup panjang. Saya akan memecah bagian fungsional tertentu seperti ini:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Metode ini terlihat cukup bagus di studio manajemen dan sangat membantu dalam meninjau kode. Bagian yang runtuh terlihat seperti:

BEGIN /** delete queries **/ ... /** delete queries **/

Saya sebenarnya lebih suka dengan cara ini karena saya tahu bahwa saya BEGINcocok dengan ENDcara ini.

andylize
sumber
1

Pilihan lainnya adalah

jika tujuan Anda adalah menganalisis kueri Anda, Notepad + memiliki pembungkus otomatis yang berguna untuk Sql.

Tekin Güllü
sumber
Ini sangat membantu saya. Terima kasih
Theotonio