ฟังก์ชัน Nextval ลำดับของ Oracle

Fangkchan Nextval Ladab Khxng Oracle



ใน Oracle ลำดับหมายถึงวัตถุฐานข้อมูลที่สร้างชุดของค่าตัวเลขตามการเพิ่มที่ระบุ ลำดับมักใช้เพื่อสร้างค่าคีย์หลักที่ไม่ซ้ำกันสำหรับระเบียนในตารางฐานข้อมูล

ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ฟังก์ชัน NEXTVAL เมื่อทำงานกับลำดับของ Oracle

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







ฟังก์ชัน Oracle Nextval

ฟังก์ชัน nextval ในลำดับ Oracle ใช้เพื่อดึงค่าถัดไปในลำดับที่กำหนด



เราสามารถแสดงไวยากรณ์ของฟังก์ชันตามที่แสดงในตัวอย่างโค้ดต่อไปนี้:



Sequence_name.nextval

ฟังก์ชันไม่ยอมรับอาร์กิวเมนต์หรือพารามิเตอร์ใดๆ จากนั้นจะส่งกลับค่าถัดไปในลำดับที่กำหนด





ตัวอย่างการสาธิตฟังก์ชั่น

ลองพิจารณาตัวอย่าง เราเริ่มต้นด้วยการกำหนดลำดับ Oracle อย่างง่ายดังแสดงในโค้ดต่อไปนี้:

สร้างลำดับ test_sequence
เริ่มกับ 1
เพิ่มขึ้นโดย 1 ;

เราใช้คำสั่ง CREATE SEQUENCE เพื่อเริ่มต้นลำดับ Oracle ใหม่ จากนั้นเราจะกำหนดค่าที่ลำดับเริ่มต้นและค่าที่เพิ่มขึ้นสำหรับแต่ละค่าที่สร้างขึ้นใหม่



ในตัวอย่างของเรา test_sequence เริ่มต้นที่ค่า 1 และเพิ่มขึ้นทีละค่าในแต่ละค่าใหม่ สิ่งนี้ควรสร้างชุดของค่าตัวเลขที่เริ่มต้นที่ 1,2,3,4,5…เป็นต้น

การใช้ฟังก์ชัน Oracle Nextval

เราสามารถใช้ฟังก์ชันค่าถัดไปจากลำดับ test_sequence เพื่อรับค่าถัดไป ดังที่แสดงต่อไปนี้

เลือก test_sequence.nextval จากคู่;

สิ่งนี้ควรส่งคืนค่าถัดไปจากลำดับที่แสดงดังต่อไปนี้:

หากคุณเรียกใช้คำสั่งอีกครั้ง ควรส่งคืนค่าถัดไปในชุดข้อมูลซึ่งก็คือ 2

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

การใช้ฟังก์ชัน Nextval เพื่อวนซ้ำค่าต่างๆ

เรายังสามารถใช้ฟังก์ชัน nextval เพื่อพิมพ์ตัวเลขตั้งแต่ 1 ถึง 10 ดังที่แสดงไว้ในโค้ดต่อไปนี้:

สร้างลำดับ looper_sequence
เริ่มกับ 1
เพิ่มขึ้นโดย 1 ;

ชุด เปิด SERVEROUTPUT;
เริ่ม
สำหรับฉันใน 1 .. 10
ลูป
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
จบลูป;
จบ;

รหัสที่ให้มาสร้างลำดับใหม่ที่เรียกว่า looper_sequence ซึ่งเริ่มต้นที่ 1 และเพิ่มขึ้นทีละ 1 สำหรับแต่ละค่าที่สร้างขึ้นใหม่

จากนั้นเราเปิดใช้งานตัวเลือก SERVEROUTPUT ซึ่งอนุญาตให้แพ็คเกจ DBMS_OUTPUT แสดงข้อความในคอนโซล SQL*Plus

สุดท้าย เราใส่ for loop ภายในคำสั่ง end/begin เพื่อวนซ้ำในช่วงของค่าตั้งแต่ 1 ถึง 10 จากนั้นเราเรียกฟังก์ชัน DBMS_OUTPUT.PUT_LINE สำหรับแต่ละค่าในช่วง และพิมพ์ค่าถัดไปในลำดับ looper_sequence ไปยัง คอนโซล

รหัสพิมพ์ค่าสิบถัดไปในลำดับลูป ในกรณีของเรา จะเป็นค่าตั้งแต่ 1 ถึง 10 หรือ 11 – 20… ไปเรื่อยๆ สำหรับการโทรใหม่แต่ละครั้ง

ผลลัพธ์ที่ได้ :

1
2
3
4
5
6
7
8
9
10


พีแอล / ขั้นตอน SQL เสร็จสมบูรณ์

การใช้ฟังก์ชัน Nextval ในคำสั่งแทรก

เรายังสามารถใช้ฟังก์ชัน nextval ในคำสั่งแทรกเป็นคีย์หลัก ตัวอย่างเช่น:

ใส่ลงใน ผู้ใช้ ( รหัส ,ชื่อแรก,บัตรเครดิต,ประเทศ )
ค่า ( test_sequence.nextval, 'เจมส์ สมิธ' , '4278793631436711' , 'สหรัฐอาหรับเอมิเรตส์' ) ;

ในตัวอย่างที่กำหนด เราเรียกใช้ฟังก์ชัน nextval จาก test_sequence เพื่อแทรกค่าสำหรับคอลัมน์ id ในตาราง

บทสรุป

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