เราสามารถใช้ execute ทันทีสำหรับคำสั่ง select ได้หรือไม่?
เราสามารถใช้ execute ทันทีสำหรับคำสั่ง select ได้หรือไม่?

วีดีโอ: เราสามารถใช้ execute ทันทีสำหรับคำสั่ง select ได้หรือไม่?

วีดีโอ: เราสามารถใช้ execute ทันทีสำหรับคำสั่ง select ได้หรือไม่?
วีดีโอ: การเขียน VBA ให้คลิกที่ปุ่มแล้วลิงก์ไปยังชีทที่เราต้องการ 2024, อาจ
Anonim

โปรแกรม สามารถใช้ EXECUTE IMMEDIATE . ดำเนินการทันที กำหนด a เลือก วนซ้ำเพื่อประมวลผลแถวที่ส่งคืน ถ้า เลือก ส่งกลับเพียงแถวเดียว ไม่จำเป็นต้อง ใช้ NS เลือก ห่วง

ดังกล่าว, วิธีการใช้งานทันทีดำเนินการ?

คุณสามารถใส่ ดำเนินการทันที คำสั่งที่มี RETURNING BULK COLLECT INTO ภายในคำสั่ง FORALL คุณสามารถเก็บผลลัพธ์ของคำสั่ง INSERT, UPDATE หรือ DELETE ทั้งหมดไว้ในชุดของคอลเลกชัน คุณสามารถส่งองค์ประกอบคอลเลกชันที่สมัครเป็นสมาชิกไปยัง ดำเนินการทันที คำสั่งผ่าน โดยใช้ ข้อ

ต่อมา คำถามคือ เราต้อง commit หลังจากดำเนินการทันทีหรือไม่? ให้สัญญา ไม่จำเป็นต้องใช้ หลังจาก ทั้งหมด ดำเนินการทันที . งบบางส่วน ทำ ไม่ จำเป็นต้อง NS ให้สัญญา ; ตัวอย่างเช่น if คุณ ตัดทอนตารางด้วย TRUNCATE งานที่ไม่มีข้อผูกมัดทั้งหมดภายในธุรกรรมปัจจุบัน มีความมุ่งมั่น หรือย้อนกลับ - ไม่ใช่แค่คำสั่ง ถูกประหารชีวิต โดย ดำเนินการทันที.

ในลักษณะนี้ เราสามารถใช้ดำเนินการทันทีในฟังก์ชัน Oracle ได้หรือไม่

NS ดำเนินการทันที คำสั่งดำเนินการคำสั่ง SQL แบบไดนามิกหรือนิรนาม PL/SQL บล็อก. คุณสามารถใช้ได้ มันออกคำสั่ง SQL ที่ไม่สามารถแสดงโดยตรงใน PL/SQL , หรือเพื่อสร้างงบที่ คุณทำ ไม่ทราบชื่อตารางทั้งหมด ส่วนคำสั่ง WHERE และอื่นๆ ล่วงหน้า

เหตุใดเราจึงใช้การดำเนินการทันทีใน Oracle

ดำเนินการทันที ช่วยให้ การดำเนินการ ของคำสั่ง DML หรือ DDL ซึ่งถือเป็นสตริงและประเมินเมื่อรันไทม์เท่านั้น ซึ่งช่วยให้สามารถสร้างคำสั่งแบบไดนามิกตามตรรกะของโปรแกรม ดำเนินการทันที เป็นวิธีเดียวที่คุณสามารถทำได้ ดำเนินการ DDL ภายใน a PL/SQL บล็อก.

แนะนำ: