ขอแพ็คเกจ 1s 8.3. คำขอเป็นกลุ่มสำหรับหุ่นจำลอง วิธีการ Run() และ RunBatch()
บล็อกบริษัท 1C GOODWILL
แพลตฟอร์ม 1C Enterprise ช่วยให้คุณสามารถดำเนินการค้นหาหลายรายการตามลำดับในแต่ละครั้ง ใน 1C สิ่งนี้เรียกว่าแพ็คเกจคำขอ ภายในแพ็คเกจเดียว แต่ละคำขอจะถูกคั่นด้วยเครื่องหมายอัฒภาค
เพื่อให้บรรลุการดำเนินการค้นหาทีละขั้นตอนในแพ็คเกจ ตามกฎแล้ว ตารางชั่วคราวจะถูกสร้างขึ้น จากนั้นเงื่อนไขสำหรับการแบ่งปัน เช่น ตัวกรอง การรวม และการรวม จะถูกสร้างขึ้น ด้วยเหตุนี้จึงได้ผลลัพธ์สุดท้าย ตารางชั่วคราวที่ได้รับจากการสืบค้นใด ๆ ในชุดงานจะยังคงมีอยู่จนกว่าจะสิ้นสุดชุดงานโดยรวม หรือจนกว่าจะมีการดำเนินการสืบค้นที่ทำลายตารางชั่วคราว
นอกจากนี้ การใช้แบบสอบถามแบบแบตช์และตารางชั่วคราวช่วยเพิ่มความสามารถในการอ่านส่วนของโค้ดนี้ทั้งหมดได้อย่างมาก การสืบค้นที่ซับซ้อนซึ่งมีการสืบค้นที่ซ้อนกันอาจเป็นเรื่องยากที่จะเข้าใจ อย่างไรก็ตาม หากคุณแยกแบบสอบถามที่ซับซ้อนยาวๆ ออกเป็นหลายๆ แบบสอบถาม และใช้ตารางชั่วคราวด้วยซ้ำ สิ่งนี้จะไม่เพียงปรับปรุงการรับรู้เท่านั้น แต่ในกรณีส่วนใหญ่ยังนำไปสู่ประสิทธิภาพที่เพิ่มขึ้นด้วย
รายละเอียดที่สำคัญอีกประการหนึ่งที่สนับสนุนการสืบค้นแบบแบตช์ใน 1C ก็คือ ต่างจากการสืบค้นแบบซ้อน เราสามารถรับผลลัพธ์ของการสืบค้นแต่ละครั้งในชุดแบบแยกกัน
ตัวอย่างการสร้างแพ็คเกจคำขอในภาษา 1C
หากต้องการดูตัวอย่างวิธีสร้างแพ็คเกจแบบสอบถาม เราจะใช้ตัวออกแบบแบบสอบถาม ซึ่งเราจะเรียกจากคอนโซลแบบสอบถามเพื่อความชัดเจน ดังนั้นเราจึงสามารถเห็นผลลัพธ์ของการดำเนินการแพ็คเกจได้ทันที
มาสร้างคำขอแบทช์ง่ายๆ กัน ฉันแนะนำให้วางข้อความคำขอลงในคอนโซลทันที จากนั้นเปิดโปรแกรมออกแบบและดูว่าแพ็คเกจคำขอเกิดขึ้นอย่างไร เพิ่มคำขอใหม่ลงในคอนโซลและวางข้อความต่อไปนี้:
การเลี้ยงตนเอง ผู้ปกครอง
รหัสที่สนับสนุนตนเอง
การสนับสนุนตนเอง รหัสการเลือกด่วน
พึ่งตนเองได้ ชื่อ
ชนิดพึ่งตนเองได้
การพึ่งพาตนเองนอกงบดุล
การพึ่งพาตนเองเชิงปริมาณ
ผังบัญชี การพึ่งพาตนเอง AS การพึ่งพาตนเอง
////////////////////////////////////////////////////////////////////////////////
ประเภทที่สนับสนุนตนเองหมายเลข Subconto.Line AS หมายเลขบรรทัด
ประเภทการสนับสนุนตนเองของ Subconto.ViewSubconto AS TypeSubconto,
Self-supportingTypesSubconto.TypeSubconto.Name AS ชื่อ
Self-supportingTypesSubconto.TypeSubconto.ValueType ASValueType,
ประเภทที่สนับสนุนตนเอง Subconto.OnlyTurnover AS OnlyTurnover,
Self-supportingTypesSubconto.Summary AS Summative
ผังบัญชี ประเภทของบัญชีย่อย AS ประเภทของบัญชีย่อย
สั่งซื้อโดย
ประเภทการพึ่งพาตนเองSubconto.NumberLines
สำหรับฉันดูเหมือนว่านี้:
ตอนนี้ไปที่ตัวออกแบบแบบสอบถาม ที่นี่เราจะสนใจแท็บ "ขอแพ็คเกจ":
อย่างที่คุณเห็น เรามีคำขอสองชุด เมื่อดับเบิลคลิกที่รายการใดรายการหนึ่ง คุณสามารถดำเนินการแก้ไขต่อไปได้:
คลิกปุ่ม "ตกลง" และลองดูผลลัพธ์ของคำขอแบทช์
มาตั้งค่าพารามิเตอร์ "บัญชี" กัน คุณสามารถเลือกบัญชีใดก็ได้จากผังบัญชี ตามที่คุณอาจเดาได้แล้ว แพ็คเกจคำขอนี้จะต้องได้รับคุณสมบัติบัญชี คลิก "เรียกใช้" และดูผลลัพธ์:
วิธีการ Run() และ RunBatch()
นอกเหนือจากวิธีการ Execute() ซึ่งจะดำเนินการคำขอทั้งหมดในแบตช์ทีละรายการและส่งคืนผลลัพธ์ของคำขอล่าสุด ใน 1C ยังมีวิธี ExecutePackage() โดยจะส่งคืนอาร์เรย์ตัวอย่างของแต่ละคำขอในชุดงาน ในตัวอย่างข้างต้น วิธีการนี้จะถูกดำเนินการ
ArrayResults = Query.ExecuteBatch();
Selection1 = ArrayResults.Select();
ถ้า Select1.Next() แล้ว
//การดำเนินการกับการเลือก 1
สิ้นสุดถ้า;
SelectionViewsSubconto = ArrayResults.Select();
โพสต์ การทำงานกับคำขอแบทช์ใน 1C 8.3 และ 8.2 ปรากฏครั้งแรกในบล็อก บริษัท 1C GOODWILL
ตัวออกแบบแบบสอบถามใน 1C 8.3 และ 8.2 เป็นเครื่องมือการพัฒนาที่ทรงพลัง ช่วยให้คุณสามารถเขียนข้อความคำขอโดยใช้สภาพแวดล้อมภาพพิเศษ ดังนั้นเพื่อสร้างคำขอ 1C ไม่จำเป็นต้องรู้ภาษาคิวรีในตัว แต่ก็เพียงพอที่จะนำทางไปยังอินเทอร์เฟซที่เรียบง่ายและใช้งานง่ายของนักออกแบบ
ตัวสร้างแบบสอบถามคือชุดของแท็บ ซึ่งแต่ละแท็บมีหน้าที่รับผิดชอบในส่วนของแบบสอบถามของตัวเอง เลยกรอกแท็บ ตารางและเขตข้อมูลเราเลือกตารางที่แบบสอบถาม 1C จะได้รับข้อมูลและฟิลด์ของตารางเหล่านี้ที่จำเป็นในการแก้ปัญหาเฉพาะ ต่อเติมเข้าในก่ออิฐ เงื่อนไขเรากำหนดเงื่อนไขในตารางที่เลือกเพื่อเลือกเฉพาะข้อมูลที่เราต้องการเป็นต้น
คำอธิบายของตัวออกแบบแบบสอบถามบนเว็บไซต์อย่างเป็นทางการ 1C 8: v8.1c.ru
ตารางและเขตข้อมูล - - - - - ข้อความค้นหาที่ซ้อนกัน (อยู่ระหว่างการพัฒนา)
ในการเรียกตัวออกแบบแบบสอบถาม 1s 8 ในโค้ดโปรแกรมคุณต้อง:
- สร้างคำขอใหม่
- ตั้งค่าบรรทัดข้อความคำขอว่าง
- วางเคอร์เซอร์ของเมาส์ระหว่างเครื่องหมายคำพูดแล้วกดปุ่มเมาส์ขวา ในเมนูบริบทที่เปิดขึ้น ให้เลือกรายการ ตัวสร้างแบบสอบถามและตอบ ใช่สำหรับคำถามเกี่ยวกับการสร้างคำขอใหม่ หากข้อความคำขอถูกเขียนลงไปแล้ว คุณจะต้องคลิกที่ใดก็ได้ภายในข้อความนั้นแล้วโทรหา Constructor ;
มาดูแท็บหลักทั้งหมดของตัวสร้างคิวรีโดยใช้ตัวอย่างเล็กๆ น้อยๆ ของการเพิ่มความซับซ้อน วิธีการนี้จะช่วยให้โปรแกรมเมอร์ 1C มือใหม่สามารถศึกษาตัวสร้างและความสามารถทั้งหมดได้อย่างมีประสิทธิภาพมากขึ้น ตัวอย่าง เราจะใช้การกำหนดค่า การบัญชี 3.0
บทเรียน #1 ตัวสร้างแบบสอบถามเป็นกรณีการใช้งานที่ง่ายที่สุด
งาน: เขียนคำขอไปยังไดเร็กทอรีระบบการตั้งชื่อ เลือกระบบการตั้งชื่อทั้งหมดของไดเร็กทอรี
แท็บใหม่: ตารางและเขตข้อมูล
กลไกใหม่: การดูและแก้ไขข้อความคำขอโดยใช้ปุ่ม "คำขอ"
เพื่อเริ่มสร้างคำขอ เรามาสร้างคำขอใหม่และเรียกตัวสร้าง (ดังที่เขียนไว้สองสามย่อหน้าด้านบน) หลังจากนี้ หน้าต่างตัวออกแบบจะเปิดขึ้นบนแท็บ ตารางและเขตข้อมูล
ส่วนทางทฤษฎีของบทเรียนหมายเลข 1
แท็บ ตารางและเขตข้อมูลประกอบด้วยสามส่วน:
ฐานข้อมูล- ส่วนนี้นำเสนอตารางฐานข้อมูลทั้งหมดที่สามารถใช้ในการสร้างแบบสอบถาม
ตาราง- ในส่วนนี้ จะมีการเลือกตารางที่จำเป็นสำหรับแบบสอบถามนี้ เพื่อย้ายพวกเขาออกจากส่วน ฐานข้อมูลจำเป็นต้อง:
- หรือดับเบิลคลิกบนโต๊ะ
- หรือใช้ปุ่ม ">" หรือ ">>"
ส่วนด้านบน ตารางมีหลายปุ่ม ส่วนใหญ่จะกล่าวถึงรายละเอียดเพิ่มเติมในบทเรียนต่อไปนี้ สำหรับตอนนี้ผมจะอธิบายเพียงสั้นๆเท่านั้น
- สร้างแบบสอบถามย่อย(เส้นสีแดง). ออกแบบมาเพื่อสร้างแบบสอบถามย่อยใหม่
- สร้างคำอธิบายตารางชั่วคราว(เส้นสีเหลือง). ช่วยให้คุณระบุชื่อของตารางชั่วคราวที่อยู่นอกแบบสอบถามนี้ นอกจากนี้ยังสามารถใช้เพื่อส่งตารางค่าไปยังแบบสอบถาม
- เปลี่ยนองค์ประกอบปัจจุบัน(เส้นสีเขียว). ช่วยให้คุณสามารถข้ามไปยังแบบสอบถามย่อย ตารางชั่วคราว หรือคำอธิบายตารางชั่วคราวที่เลือก
- ลบรายการปัจจุบัน(เส้นสีน้ำเงิน). ลบตารางที่เลือกออกจากตารางที่เลือก
- เปลี่ยนโต๊ะ(เส้นสีน้ำเงิน). เปิดกล่องโต้ตอบเพื่อแทนที่ตารางที่เลือก มีประโยชน์หากคุณเลือกตารางเสมือนการลงทะเบียนผิด เนื่องจากการวางตำแหน่งเกิดขึ้นบนตารางที่เลือกในปัจจุบันในรายการ
- ตัวเลือกตารางเสมือน(เส้นสีม่วง). เปิดพารามิเตอร์ตารางการลงทะเบียนเสมือน
เขตข้อมูล- ส่วนนี้เลือกเขตข้อมูลตารางจากส่วนก่อนหน้า ฟิลด์เหล่านี้จะเป็นคอลัมน์ของตารางหรือการเลือกที่ได้รับอันเป็นผลมาจากแบบสอบถาม มีความจำเป็นเป็นหลักเพื่อให้ได้เฉพาะข้อมูลที่จำเป็นในบางกรณีจากตารางที่เลือกเท่านั้น เพื่อที่จะย้ายพวกเขาออกจากส่วน ตารางที่จำเป็น:
- หรือดับเบิลคลิกที่ฟิลด์
- หรือใช้ปุ่ม ">" หรือ ">>"
- คุณยังสามารถเพิ่มฟิลด์ใหม่ได้ด้วยตัวเอง โดยใช้นิพจน์ที่กำหนดเองจากฟิลด์ของตารางที่เลือกและฟังก์ชันภาษาคิวรี
ส่วนด้านบน เขตข้อมูลมีหลายปุ่ม การสร้างฟิลด์โดยใช้นิพจน์ที่กำหนดเองจะกล่าวถึงรายละเอียดเพิ่มเติมในบทเรียนต่อไปนี้ สำหรับตอนนี้ผมจะอธิบายเพียงสั้นๆเท่านั้น
- เพิ่ม(เส้นสีเขียว). ออกแบบมาเพื่อเพิ่มฟิลด์ใหม่โดยใช้โปรแกรมแก้ไขนิพจน์อิสระ
- เปลี่ยนองค์ประกอบปัจจุบัน(เส้นสีแดง). ช่วยให้คุณเปลี่ยนฟิลด์ที่เลือกโดยใช้โปรแกรมแก้ไข
- ลบปัจจุบัน(เส้นสีน้ำเงิน). ลบฟิลด์ที่เลือกออกจากรายการ
ส่วนปฏิบัติของบทเรียนหมายเลข 1
เราได้จัดการกับทฤษฎีที่จำเป็นในการทำงานที่ให้ไว้ในบทเรียนนี้ให้สำเร็จ ฉันขอเตือนคุณว่ามันเป็นอย่างไร: เขียนคำขอไปยังไดเร็กทอรีระบบการตั้งชื่อ, เลือกระบบการตั้งชื่อทั้งหมดของไดเร็กทอรี
มาเริ่มสร้างคำขอสำหรับรายการกันดีกว่า:
- มาสร้างคำขอใหม่และเปิดตัวสร้างโดยใช้วิธีการที่ระบุไว้ในตอนต้นของบทเรียน
- ในส่วน ฐานข้อมูล,มาเปิดกระทู้กันดีกว่า ไดเรกทอรีและเราจะพบคำแนะนำที่นั่น ศัพท์;
- เลือกและใช้ปุ่ม ">" เพื่อย้ายไปยังส่วนดังกล่าว ตาราง;
- ในส่วน ตารางเปิดไดเร็กทอรีระบบการตั้งชื่อโดยใช้ไอคอน "+"
- ในรายการฟิลด์ที่เปิดขึ้น ให้ค้นหาฟิลด์ ลิงค์และย้ายไปยังส่วนนั้น เขตข้อมูลโดยใช้ปุ่ม ">"
- คำขอรายการพร้อมแล้ว คลิกปุ่ม "ตกลง" ที่ด้านล่างของหน้าต่างตัวออกแบบ
การสืบค้นแบบกลุ่มช่วยเสริมฟังก์ชันการทำงานของตารางชั่วคราวในทางตรรกะ และให้ตัวเลือกเพิ่มเติมเมื่อทำงานกับการสืบค้น
ในแบบสอบถามแบบแบตช์ คุณสามารถอธิบายแบบสอบถามหลายรายการได้ ทั้งที่เชื่อมโยงถึงกันโดยใช้ตารางชั่วคราวและไม่เกี่ยวข้องกัน (เป็นไปได้แต่ยังไม่ชัดเจนว่าทำไม) เป็นผลให้คุณสามารถดำเนินการคำขอทั้งหมดตามลำดับและรับผลลัพธ์เป็นอาร์เรย์ที่มีผลลัพธ์ของแต่ละคำขอหรือผลลัพธ์ของคำขอสุดท้าย หากต้องการรับอาร์เรย์พร้อมผลลัพธ์แบบสอบถาม ให้ใช้วิธีการ ดำเนินการแบทช์()ขอวัตถุและเพื่อให้ได้ผลลัพธ์ของการร้องขอครั้งล่าสุด รันคิวรี().
ในข้อความคำขอ คำขอแพ็กเกจจะถูกคั่นด้วยสัญลักษณ์ “;” (อัฒภาค). มีเนมสเปซเดียวเท่านั้นสำหรับตารางเสมือนต่อการร้องขอแบทช์ ไม่จำเป็นต้องใช้ตัวจัดการตารางชั่วคราว แต่เป็นไปได้ถ้าคุณต้องการส่งตารางชั่วคราวจากการสืบค้นแบบแบตช์หนึ่งไปยังอีกคิวรีแบบแบตช์หนึ่ง
รหัส 1C v 8.x ขั้นตอนการประมวลผล (ความล้มเหลว, โหมดการประมวลผล)
คำขอ = คำขอใหม่;
คำขอข้อความ = "
|เลือก
- ระบบการตั้งชื่อ SUM(ปริมาณ) AS ปริมาณ
|วาง DocTCH
|จาก
|ที่ไหน
- ลิงค์ = &ลิงค์
|จัดกลุ่มตามระบบการตั้งชื่อ
|;
|เลือกต่างๆ
- ศัพท์
|วางรายการสินค้า
|จาก
- เอกสาร.วัสดุสิ้นเปลือง.สินค้า
|ที่ไหน
- ลิงค์ = &ลิงค์
|;
|เลือก
- ศัพท์เฉพาะ
- Doc.Quantity AS Doc_Quantity,
- ISNULL(Reg.QuantityRemaining,0) AS Reg_Quantity
|จาก
- หมอ AS หมอ
- การเชื่อมต่อด้านซ้าย
- RegisterAccumulations.Remains of Goods.Remains(,
- ระบบการตั้งชื่อ B(เลือกหลากหลาย
- ศัพท์
- จาก
- รายการผลิตภัณฑ์ AS รายการผลิตภัณฑ์)) AS Reg
- โดย
- Doc.Nomenclature = Reg.Nomenclature";
ในขณะที่ Select.Next() วนซ้ำ
//ตรวจสอบยอดคงเหลือติดลบ
//ผ่านการลงทะเบียน
สิ้นสุดรอบ;
สิ้นสุดขั้นตอน
ในความเป็นจริง ฉันลบคำจำกัดความของวัตถุแบบสอบถามและการใช้ตัวจัดการตารางชั่วคราว รวมข้อความแบบสอบถาม (สังเกตตัวคั่น “;” ระหว่างข้อความ) ส่งผลให้ข้อความคิวรีสามารถอ่านได้ง่ายขึ้น (และเมื่อใช้ตัวสร้างคิวรี ความสามารถในการอ่านของคิวรีก็เพิ่มขึ้นอย่างมาก)
หลังจากดำเนินการค้นหาลงในตัวแปรแล้ว ผลลัพธ์อาร์เรย์เราจะมี 3 องค์ประกอบ สองรายการแรกจะมีตัวเลขที่แสดงลักษณะของจำนวนเรกคอร์ดที่วางอยู่ในตารางชั่วคราว DocTCH และ ListProducts และรายการที่สามจะมีการเลือกพร้อมกับฟิลด์ Nomenclature, Doc_Quantity และ Reg_Quantity
ให้เป็นตัวแปร ผลการสืบค้นมีเพียงตัวอย่างเท่านั้นที่จะเข้าได้
นั่นคือทั้งหมดสำหรับคำขอเป็นชุด กลไกที่สะดวกมากทั้งจากมุมมองของการเขียนแบบสอบถามและจากมุมมองของการอ่านแบบสอบถามที่ซับซ้อน
ข้อมูลที่นำมาจากเว็บไซต์
จำเป็นต้องมีคำขอแบบกลุ่มเมื่อคำขอซับซ้อนเกินกว่าจะกำหนดและทำให้ทำงานได้อย่างมีประสิทธิภาพ เพื่อให้เข้าใจว่าคำขอแบบกลุ่มคืออะไร คุณสามารถใช้ไดอะแกรมต่อไปนี้:
อย่างไรก็ตาม ตัวเลือกการสืบค้นแบบแบตช์มีให้ใช้งานเฉพาะในโซลูชัน 8.1.11.67.4 เท่านั้น ดังนั้นคุณอาจยังไม่ทราบว่าวิธีนี้ทำงานอย่างไรในทางปฏิบัติ พูดง่ายๆ ก็คือสร้างชุดข้อความค้นหาและเชื่อมต่อผ่านสัญลักษณ์ ";" ตัวอย่างเช่น:
ผลลัพธ์จะถูกส่งกลับผ่านอันสุดท้าย อย่างไรก็ตาม มีการรองรับการสืบค้นแบบกลุ่มในคอนโซลปกติทุกเครื่อง ตัวอย่างของการดำเนินการผ่านคอนโซลแบบสอบถาม:
ทำไมเราทำไม่ได้หากไม่มีคำขอเป็นชุด?
เราใส่ผลลัพธ์ระดับกลางลงในตารางชั่วคราวและวางแผนที่จะใช้ในการสืบค้นในอนาคต หากไม่มีฟังก์ชันตารางชั่วคราว แบบสอบถามระดับกลางดังกล่าวจะต้องถูกทำซ้ำอีกครั้ง หากคุณไม่รู้ว่าการสืบค้นแบบแบตช์ทำงานอย่างไรและใช้งานอย่างไร คุณสามารถเรียกใช้การสืบค้นหลาย ๆ ครั้งติดต่อกันได้โดยใช้ข้อมูลจากตารางที่ซ้อนกัน ซึ่งเคยเป็นเช่นนี้มาก่อน ตอนนี้คุณไม่จำเป็นต้องเสียเวลากับเรื่องนี้ เพราะเรามีวิธีที่มีประสิทธิภาพและเรียบง่าย คำขอแบทช์ใน 1C- สะดวก ไม่ต้องจำอีกต่อไปว่าโต๊ะชั่วคราวควรอยู่ที่ไหน เพื่อลดและเร่งความเร็วให้ใช้ความสามารถของระบบควบคุมการเข้าออก ระบบจะเลือก,จัดเรียง,วาง นี่คือวิธีที่นักพัฒนาโซลูชันยอดนิยมและเชื่อถือได้วางตำแหน่งนวัตกรรมนี้
ประกาศคำขอแบทช์จากนักพัฒนา 1C
- การเพิ่มประสิทธิภาพที่สำคัญของโปรแกรมโดยรวม
- การเพิ่มความสามารถในการปรับขนาดของโซลูชันที่รู้จัก
- ประสิทธิภาพที่มีประสิทธิภาพเนื่องจากมีการนำความสามารถในการจัดวางแบบแบตช์มาใช้
- การดูแลระบบที่ง่ายและตรงไปตรงมา
- โอกาสที่ดีที่สุดสำหรับการบูรณาการกับโซลูชันอื่นๆ
ฟังก์ชันการค้นหาใน 8.1.11 คืออะไร?
เป็นแบบสอบถามที่ช่วยปรับปรุงการทำงานกับตารางชั่วคราวได้อย่างมาก ฟังก์ชันการทำงานของคิวรีแบบแบตช์หมายความว่าตารางใดๆ ที่สร้างขึ้นสำหรับการสืบค้นเฉพาะจากแบตช์จะทำงานได้จนกว่าการสืบค้นแบบแบตช์จะเสร็จสิ้นการดำเนินการโดยสมบูรณ์ หรือจนกว่าจะถึงคำสั่งทำลาย ตอนนี้คุณสามารถรับทั้งผลลัพธ์ของคำขอล่าสุด ซึ่งจะเป็นคำสั่ง Execute() และอาร์เรย์ผลลัพธ์ทั้งหมดโดยใช้เมธอด ExecutePackage()
อัลกอริทึมสำหรับการสร้างคำขอแบบแบตช์อย่างเชี่ยวชาญ
ตอนนี้เราทราบแล้วว่าคำขอแบบกลุ่มคือคำขอหลายรายการที่เราอธิบายว่าเป็นคำขอทั่วไปคำขอเดียว พวกเขาจะต้องถูกประหารชีวิตทีละคน ผลลัพธ์ระหว่างกลางใดๆ ในระหว่างการดำเนินการทั้งห่วงโซ่ของการสืบค้นที่รวมไว้สามารถวางไว้ในตารางชั่วคราวได้ ด้วยโครงสร้างนี้ คำขอใดๆ ก็สามารถเข้าถึงข้อมูลระดับกลางนี้ได้ สิ่งสำคัญคือสามารถใช้ผลลัพธ์ของการสืบค้นใดๆ ที่อยู่ในตารางชั่วคราวซ้ำๆ ได้ ในกรณีนี้คุณไม่จำเป็นต้องลงทะเบียนสิ่งเดียวกันหลายครั้งอีกต่อไป
ข้อเสียของวิธีการ
เมื่อพูดถึงข้อดีของการใช้การสืบค้นแบบแบตช์ เป็นเรื่องที่ควรค่าแก่การกล่าวถึงข้อเสียที่ชัดเจน ความจริงก็คือด้วยอัลกอริธึมการดำเนินการนี้ระบบจะถูกบังคับให้สร้างตารางที่เก็บฐานข้อมูลทั้งหมดอย่างต่อเนื่อง ต้องใช้เวลาทั้งในการสร้างแต่ละตารางและลบออกในภายหลัง นี่คือตัวอย่าง:
เป็นผลให้เรามีตาราง:
ตอนนี้เราใช้คำขอแบบแบตช์ จำไว้ว่าเราต้องการเครื่องหมายอัฒภาคสำหรับสิ่งนี้ เราได้รับ:
โปรดทราบว่าคำขอครั้งที่ 3 รวมผลลัพธ์ของสองคำขอแรก มาดูกันว่าเกิดอะไรขึ้น:
ทีนี้ลองเพิ่มความสวยงามและเปลี่ยนข้อความสำหรับคำขอที่ 3 เล็กน้อยเช่นนี้
ตอนนี้เรามีสิ่งนี้:
สิ่งที่เหลืออยู่คือการรวมคอลัมน์เข้ากับระบบการตั้งชื่อและใส่ศูนย์ในเซลล์ว่าง