ทำความเข้าใจโครงสร้างของบล็อกโค้ด 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 ในไม่ช้า