เซิร์ฟเวอร์ sql # ภูมิภาค


163

ฉันสามารถสร้างภูมิภาคในเครื่องมือแก้ไขเซิร์ฟเวอร์ sql (เช่น#regionและ#endregionใน C #) ได้อย่างไร

คำตอบ:


272

ไม่ได้ขอโทษจริงๆ! แต่...

การเพิ่มbeginและend.. ด้วยความคิดเห็นเกี่ยวกับการbeginสร้างภูมิภาคซึ่งมีลักษณะเช่นนี้ ... บิตของการแฮ็ก!

สกรีนช็อตของรหัสภูมิภาคเริ่มต้น

มิฉะนั้นคุณสามารถขยายและยุบได้คุณไม่สามารถกำหนดสิ่งที่ควรขยายและยุบได้ ไม่ได้โดยไม่มีเครื่องมือของบุคคลที่สามเช่นSSMS ชุดเครื่องมือ


4
ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานคำสั่งเค้าร่างภายใต้ตัวแก้ไขข้อความ> Transact-SQL> Intellisense> เปิดใช้งาน Intellisense
GatesReign

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx แม้ว่าคำสั่ง Transact-SQL ทั้งหมดจะถูกต้องภายในบล็อก BEGIN ... END แต่คำสั่ง Transact-SQL บางคำสั่งไม่ควรถูกจัดกลุ่มเข้าด้วยกันภายในชุดเดียวกัน (บล็อกคำสั่ง) ใครช่วยบอกฉันหน่อยได้ไหมว่าทำไมพวกเขาถึงไม่ควรจัดกลุ่ม
จาค็อบพาน

1
แฮ็คที่มีประโยชน์ แต่อย่าลืมเพิ่มgoหลังจากendคำสั่งหากคุณต้องการสร้างหลายภูมิภาค / ส่วน
marchWest

! สดใส ขอบคุณ
ตับ

ละเอียด! หากคุณมีบล็อกความคิดเห็นเท่านั้น คุณต้องเพิ่มสิ่งที่ไม่แสดงความคิดเห็นภายใน ตัวอย่างเช่น: พิมพ์
inon

12

(ฉันเป็นผู้พัฒนาโปรแกรมเสริมSSMSBoostสำหรับ SSMS)

เมื่อเร็ว ๆ นี้เราได้เพิ่มการสนับสนุนสำหรับไวยากรณ์นี้ลงใน SSMSBoost ของเรา

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

นอกจากนี้ยังมีตัวเลือกในการ "จดจำ" ภูมิภาคโดยอัตโนมัติเมื่อเปิดสคริปต์


2
ไม่เป็นไร แต่ใช้งานไม่ได้ ฉันต้องปิดและเปิดไฟล์ใหม่เพื่อยุบพื้นที่ที่สร้างขึ้นใหม่
Martin Capodici

4
มีตัวเลือก "บริเวณแยกวิเคราะห์ซ้ำ" ซึ่งมีอยู่ในเมนู SSMSBoost บนแถบเครื่องมือ ดังนั้นไม่จำเป็นต้องเปิดไฟล์อีกครั้ง
Andrei Rantsevich

น่าเสียดายที่นี่มีข้อผิดพลาด หากคำสั่งรหัสแรกในภูมิภาคมีความเห็นออกพื้นที่ที่สิ้นสุดที่บรรทัดสุดท้ายของความเห็นรหัส
Jeff

9

BEGIN ... END ใช้งานได้คุณเพียงแค่เพิ่มหัวข้อที่มีความคิดเห็น วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการเพิ่มชื่อส่วน! เส้นทางอื่นคือการเพิ่มบล็อกความคิดเห็น ดูด้านล่าง:

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

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END


4

มันเป็นเพียงเรื่องของการใช้การเยื้องข้อความในตัวแก้ไขแบบสอบถาม

มุมมองที่ขยาย:

ขยาย

มุมมองที่ยุบ:

ทรุดตัวลง


3

ไม่ #region ไม่มีอยู่ในภาษา T-SQL

คุณสามารถรับการพับโค้ดโดยใช้บล็อกเริ่มต้น:

- ภูมิภาคของฉัน
เริ่ม
    - รหัสไปที่นี่
ปลาย

ฉันไม่แน่ใจว่าฉันแนะนำให้ใช้พวกเขาสำหรับสิ่งนี้เว้นแต่ว่ารหัสอื่นไม่สามารถ refactored โดยวิธีอื่นแม้ว่า!


2

ฉันใช้เทคนิคคล้ายกับ McVitie และเฉพาะในขั้นตอนการจัดเก็บหรือสคริปต์ที่ค่อนข้างยาว ฉันจะแยกส่วนฟังก์ชั่นบางอย่างเช่นนี้:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

วิธีนี้แสดงให้เห็นว่าค่อนข้างดีในสตูดิโอการจัดการและเป็นประโยชน์ในการตรวจสอบรหัส ชิ้นส่วนที่ยุบลงมีลักษณะคล้ายกับ:

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

ฉันชอบมันแบบนี้เพราะฉันรู้ว่าการBEGINแข่งขันของฉันกับทางENDนี้


1

อีกทางเลือกหนึ่งคือ

ถ้าจุดประสงค์ของคุณคือการวิเคราะห์แบบสอบถามของคุณ Notepad + มี wrapper อัตโนมัติที่มีประโยชน์สำหรับ SQL


สิ่งนี้ช่วยฉันได้จริงๆ ขอบคุณ
Theotonio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.