SAP บทช่วยสอน HANA: สร้างลำดับ
ลำดับคืออะไร?
ลำดับคือออบเจ็กต์ฐานข้อมูลที่สร้างรายการค่าตัวเลขที่เพิ่มขึ้นโดยอัตโนมัติตามกฎที่ระบุในข้อกำหนดเฉพาะของลำดับ
ตัวอย่างเช่น ในการแทรกหมายเลขพนักงานโดยอัตโนมัติในคอลัมน์ (EMPLOYEE_NO) ของตาราง เมื่อมีการแทรกบันทึกใหม่ในตาราง เราจะใช้ลำดับ
ค่าลำดับจะถูกสร้างขึ้นตามลำดับจากน้อยไปหามากหรือจากมากไปหาน้อย
ลำดับไม่เกี่ยวข้องกับตาราง แอปพลิเคชันเหล่านั้นถูกใช้ มีสองค่าตามลำดับ -
- CURRVAL – ระบุค่าปัจจุบันของลำดับ
- NEXTVAL – ระบุค่าถัดไปของลำดับ
ซิงค์
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
องค์ประกอบไวยากรณ์
ELEMENTS | DESCRIPTION |
---|---|
มันคือชื่อของลำดับ | |
- - | โดยจะระบุพารามิเตอร์ลำดับตั้งแต่หนึ่งรายการขึ้นไป |
เริ่มกับ | มันอธิบายค่าลำดับเริ่มต้น |
เพิ่มขึ้นโดย | นี่เป็นการระบุค่าที่จะเพิ่มจากค่าสุดท้ายที่กำหนดในแต่ละครั้งเมื่อสร้างค่าลำดับใหม่ ค่าเริ่มต้นคือ 1 |
MAXVALUE | นี่เป็นการระบุค่าสูงสุด ซึ่งสามารถสร้างได้ตามลำดับ สามารถอยู่ระหว่าง -4611686018427387903 ถึง 4611686018427387902 |
ไม่มีค่าสูงสุด | เมื่อระบุ NO MAXVALUE สำหรับลำดับจากน้อยไปมาก ค่าสูงสุดจะเป็น 4611686018427387903 และค่าต่ำสุดสำหรับลำดับจากมากไปน้อยจะเป็น -1 |
มินแวล / ไม่มีมูลค่าขั้นต่ำ | โดยระบุค่าต่ำสุดที่ลำดับสามารถสร้างได้ สามารถอยู่ระหว่าง -4611686018427387904 ถึง 4611686018427387902 เมื่อใช้ NO MINVALUE ค่าต่ำสุดสำหรับลำดับจากน้อยไปหามากคือ 1 |
รอบ | คำสั่ง CYCLE ระบุว่าหมายเลขลำดับจะเริ่มต้นใหม่หลังจากที่ถึงค่าสูงสุดหรือต่ำสุด |
ไม่มีวงจร | ตัวเลือกเริ่มต้น คำสั่ง NO CYCLE ระบุว่าหมายเลขลำดับจะไม่ถูกรีสตาร์ทหลังจากถึงค่าสูงสุดหรือต่ำสุด |
แคช - | ขนาดแคชระบุช่วงของหมายเลขลำดับที่จะถูกแคชไว้ในโหนด จะต้องเป็นจำนวนเต็มไม่มีเครื่องหมาย |
ไม่มีแคช | ตัวเลือกเริ่มต้น คำสั่ง NO CACHE ระบุว่าหมายเลขลำดับจะไม่ถูกแคชในโหนด |
รีเซ็ตโดย | โดยระบุว่าในระหว่างการรีสตาร์ทฐานข้อมูล ฐานข้อมูลจะดำเนินการโดยอัตโนมัติ และค่าลำดับจะรีสตาร์ทด้วยค่าที่ส่งคืน |
ตัวอย่าง -
เราจะสร้างลำดับที่มีชื่อว่า DHK_SCHEMA.EMP_NO ซึ่งจะสร้างค่าที่เพิ่มขึ้นของลำดับ +1 ในแต่ละครั้งเมื่อมีการใช้ลำดับ
สคริปต์ลำดับ –
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
ที่นี่เราจะใช้วัตถุ "ลำดับ" ในตัวอย่างด้านล่างเพื่อเพิ่มมูลค่าของพนักงานไม่ +1 แต่ละครั้งที่มีการดำเนินการแบบสอบถามแบบใช้เลือกข้อมูล ในแบบสอบถาม สามารถใช้ "nextval" สำหรับการสร้างหมายเลขซีเรียลหรือข้อกำหนดประเภทเดียวกันได้
การใช้ลำดับ –
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
OUTPUT – 100,101,102………ดังนั้นในการดำเนินการทุกครั้งของแบบสอบถามแบบเลือกด้านบน