การบล็อกรหัสแบบไม่ระบุชื่อ PostgreSQL พร้อม DO

Kar Blxk Rhas Baeb Mi Rabu Chux Postgresql Phrxm Do



PostgreSQL มีบล็อกโค้ดที่คุณสามารถดำเนินงานที่ซับซ้อน รวมถึงการสร้างลูป การคำนวณ และการสืบค้น SQL อื่นๆ โครงสร้างบล็อกเป็นไปตามรูปแบบเฉพาะ และคีย์เวิร์ด DO เป็นสัญลักษณ์ของจุดเริ่มต้นของบล็อกโค้ดจนกว่าจะตรงตามคีย์เวิร์ด END โครงสร้างบล็อกนี้เป็นวิธีที่ยอดเยี่ยมในการทำงานกับบล็อกโค้ดที่ไม่ระบุตัวตนเพื่อทำงานต่างๆ ในฐานข้อมูลของคุณ เราจะพูดถึงตัวอย่างต่างๆ ของการทำงานกับโค้ดที่ไม่ระบุชื่อ PostgreSQL ด้วย Do เพื่อให้แน่ใจว่าคุณจะคุ้นเคยกับมัน เอาล่ะ!

ทำความเข้าใจโครงสร้างของบล็อกโค้ด PostgreSQL

บล็อกโค้ดบน PostgreSQL เป็นไปตามไวยากรณ์ต่อไปนี้:

ทำ [ฉลาก]

ประกาศ [ประกาศ]

เริ่มต้น [คำสั่ง]

ข้อยกเว้น [ตัวจัดการ]

จบ [ฉลาก] ;

ในส่วน DECLARE คุณประกาศตัวแปรที่คุณต้องการใช้กับบล็อคโค้ด ในส่วน BEGIN เป็นที่ที่คุณดำเนินการต่างๆ เช่น การสืบค้น SQL เป็นส่วนบังคับในบล็อคโค้ด สุดท้ายนี้ ข้อยกเว้นจะถูกใช้เมื่อกำหนดวิธีจัดการกับข้อผิดพลาด คีย์เวิร์ด END จะแสดงจุดสิ้นสุดของบล็อก ป้ายกำกับแสดงถึงบล็อกที่ไม่ระบุชื่อ







ตัวอย่างของบล็อกโค้ดที่ไม่ระบุชื่อ PostgreSQL

เมื่อเข้าใจโครงสร้างที่จะต้องปฏิบัติตามแล้ว เรามายกตัวอย่างการใช้งานต่างๆ กันดีกว่า



ตัวอย่างที่ 1: บล็อกโค้ดอย่างง่าย

ตัวอย่างนี้แสดงบล็อกโค้ดที่ไม่มีตัวแปรและบล็อกที่แสดงเฉพาะข้อความถึงผู้ใช้โดยใช้คำสั่ง RAISE NOTICE



ด้วย PostgreSQL บล็อกโค้ดของคุณจะดำเนินการทันทีเมื่อคุณกดปุ่ม “Enter”





ตัวอย่างที่ 2: บล็อกรหัสที่ไม่ระบุชื่อ

ในตัวอย่างแรก เราไม่ได้เพิ่มบล็อกโค้ดที่ไม่ระบุชื่อ กรณีดังกล่าวถือว่าบล็อกทั้งหมดไม่ระบุชื่อ และคุณไม่สามารถมีกึ่งบล็อกอยู่ข้างในได้ เนื่องจากคุณจะไม่มีทางอ้างอิงถึงบล็อกนั้นได้



ตัวอย่างต่อไปนี้สร้าง 'main_block' โปรดทราบว่าคุณต้องแนบไว้ตามที่แสดงในโครงสร้างบล็อกต่อไปนี้:

นอกจากนี้ เมื่อเพิ่มคีย์เวิร์ด END คุณต้องระบุชื่อของบล็อคโค้ดที่ไม่ระบุชื่อที่จะยุติ

ตัวอย่างที่ 3: บล็อกโค้ดที่ไม่ระบุชื่อพร้อมตัวแปร

การทำงานกับตัวแปรนั้นมีประโยชน์ภายในบล็อคโค้ด ตัวแปรจะถูกประกาศในส่วน DECLARE แม้ว่าคุณจะสามารถกำหนดค่าเริ่มต้นได้ในบล็อกเดียวกัน แต่ส่วนใหญ่ คุณจะต้องกำหนดค่าเริ่มต้นในส่วน BEGIN

คุณสามารถอ้างอิงตัวแปรได้โดยการระบุชื่อของบล็อกโค้ดที่ไม่ระบุชื่อที่ซึ่งตัวแปรเหล่านั้นถูกเตรียมใช้งาน ด้วยวิธีนี้ หากคุณมีบล็อกจำนวนมาก เช่น บล็อกหลักและลูก คุณจะไม่มีความสับสนที่แปรผันซึ่งทำให้เกิดข้อผิดพลาด

เมื่อประกาศตัวแปร คุณต้องเพิ่มประเภทตัวแปรสำหรับ PostgreSQL เพื่อทำความเข้าใจว่าข้อมูลใดที่คาดหวังและจัดเก็บไว้ในตัวแปรนั้น สำหรับตัวอย่างนี้ เรามีตัวแปรจำนวนเต็ม เราเพิ่มมูลค่าและพิมพ์ข้อความไปยังเทอร์มินัล

ตัวอย่างที่ 4: การบล็อกโค้ดแบบไม่ระบุชื่อ PostgreSQL การทำงานกับตาราง

เมื่อคุณมีตารางในฐานข้อมูลของคุณ คุณสามารถเรียกใช้คิวรีเพื่ออ้างอิงค่าในตารางของคุณได้ ตัวอย่างเช่น ตัวอย่างนี้ใช้ตารางต่อไปนี้สำหรับการอ้างอิง:

เราสร้างแบบสอบถาม SELECT ภายในบล็อกโค้ดของเราเพื่อรับค่าของรายการที่กำหนดซึ่งตรงกับเงื่อนไขที่ระบุ จากนั้นค่าที่แยกออกมาจะถูกบันทึกลงในตัวแปรที่ประกาศ และข้อความจะถูกพิมพ์เพื่อแสดงค่าที่ดึงมา

อย่างไรก็ตาม บนตาราง คุณสามารถเรียกใช้คิวรีที่สร้างตารางและแทรกค่าลงในตารางได้ ดูว่าบล็อกโค้ดที่ไม่ระบุชื่อ PostgreSQL ต่อไปนี้สร้างตารางชื่อ “new_1” และเรียกใช้แบบสอบถามแบบแทรกได้อย่างไร แบบสอบถามทำงานสำเร็จ

เมื่อเราตรวจสอบตารางที่มีอยู่ในฐานข้อมูล เราจะเห็นว่าตารางนั้นถูกสร้างขึ้น ยิ่งไปกว่านั้น เมื่อตรวจสอบรายการแล้ว เราก็ได้รายการเดียวกับที่เราใส่ไว้ในบล็อกโค้ด ตามหลักการแล้ว คุณสามารถรัน SQL ใดๆ ได้ โดยมีเงื่อนไขว่าถูกต้องและค่าของ SQL จะถูกบันทึกตามที่คาดไว้

ตัวอย่างที่ 5: การทำงานกับรหัสบล็อกย่อยที่ไม่ระบุชื่อ

บางครั้ง คุณอาจได้รับกรณีที่คุณต้องการให้บล็อกภายนอก บล็อกหลัก และบล็อกย่อยอื่น ๆ อยู่ภายใน รหัสของคุณคือสิ่งที่กำหนดว่าบล็อกย่อยจะเล่นอย่างไร ขอย้ำอีกครั้งว่าคุณสามารถมีบล็อกภายนอกที่ใช้ชื่อตัวแปรเดียวกันกับบล็อกย่อยได้ เมื่ออ้างอิงตัวแปร คุณต้องระบุบล็อกของเจ้าของ

ในตัวอย่างต่อไปนี้ เรามี “parent_block” เป็นบล็อกภายนอกของเรา เราเพิ่มส่วน DECLARE และ BEGIN อื่นเพื่อเก็บบล็อกย่อย นอกจากนี้ คีย์เวิร์ด END ยังถูกใช้สองครั้งเพื่อปิดบล็อกด้านในและด้านนอก

นั่นคือวิธีที่คุณทำงานกับบล็อกย่อยในบล็อกโค้ดที่ไม่ระบุชื่อ PostgreSQL

บทสรุป

ในฐานะผู้ใช้ PostgreSQL คุณควรเข้าใจเกี่ยวกับการบล็อกโค้ดที่ไม่ระบุชื่อและวิธีการใช้งาน ข้อมูลเชิงลึกที่ให้ไว้ในคู่มือนี้และตัวอย่างเป็นคำแนะนำง่ายๆ ที่จะช่วยให้คุณเข้าใจได้ ฝึกฝนตัวอย่างต่อไป แล้วคุณจะคุ้นเคยกับการบล็อกโค้ดที่ไม่ระบุตัวตนของ PostgreSQL ในไม่ช้า