ฐานข้อมูล H2 - ผสาน
คำสั่ง MERGE ใช้เพื่ออัปเดตแถวที่มีอยู่และแทรกแถวใหม่ลงในตาราง คอลัมน์คีย์หลักมีบทบาทสำคัญขณะใช้คำสั่งนี้ ใช้เพื่อค้นหาแถว
ไวยากรณ์
ต่อไปนี้เป็นไวยากรณ์ทั่วไปของคำสั่ง MERGE
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
ในไวยากรณ์ข้างต้นส่วนคำสั่ง KEY ใช้เพื่อระบุชื่อคอลัมน์คีย์หลัก นอกเหนือจากคำสั่ง VALUES แล้วเราสามารถใช้ค่าดั้งเดิมเพื่อแทรกหรือเราสามารถดึงและเก็บค่าตารางอื่นลงในตารางนี้โดยใช้คำสั่ง select
ตัวอย่าง
ในตัวอย่างนี้ให้เราลองเพิ่มระเบียนใหม่ในตารางลูกค้า ต่อไปนี้เป็นรายละเอียดของระเบียนใหม่ในตาราง
| ชื่อคอลัมน์ | มูลค่า |
|---|---|
| ID | 8 |
| ชื่อ | Lokesh |
| อายุ | 32 |
| ที่อยู่ | ไฮเดอราบาด |
| เงินเดือน | 2500 |
ใช้แบบสอบถามต่อไปนี้ให้เราแทรกบันทึกที่กำหนดลงในแบบสอบถามฐานข้อมูล H2
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);
แบบสอบถามข้างต้นสร้างผลลัพธ์ต่อไปนี้
Update count: 1
ให้เราตรวจสอบบันทึกของตารางลูกค้าโดยดำเนินการค้นหาต่อไปนี้
SELECT * FROM CUSTOMER;
แบบสอบถามข้างต้นสร้างผลลัพธ์ต่อไปนี้
| ID | ชื่อ | อายุ | ที่อยู่ | เงินเดือน |
|---|---|---|---|---|
| 1 | ราเมช | 32 | อาเมดาบัด | พ.ศ. 2543 |
| 2 | คิลัน | 25 | เดลี | 1,500 |
| 3 | Kaushik | 23 | โคตะ | พ.ศ. 2543 |
| 4 | Chaitali | 25 | มุมไบ | 6500 |
| 5 | ฮาร์ดิค | 27 | โภปาล | 8500 |
| 6 | Komal | 22 | ส.ส. | 4500 |
| 7 | Muffy | 24 | อินดอร์ | 10,000 |
| 8 | Lokesh | 32 | ไฮเดอราบาด | 2500 |
ตอนนี้ให้เราพยายามอัปเดตบันทึกโดยใช้ไฟล์ Mergeคำสั่ง ต่อไปนี้เป็นรายละเอียดของบันทึกที่จะอัปเดต
| ชื่อคอลัมน์ | มูลค่า |
|---|---|
| ID | 8 |
| ชื่อ | โลกิ |
| อายุ | 32 |
| ที่อยู่ | ไฮเดอราบาด |
| เงินเดือน | 3000 |
ใช้แบบสอบถามต่อไปนี้เพื่อแทรกระเบียนที่กำหนดลงในแบบสอบถามฐานข้อมูล H2
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
แบบสอบถามข้างต้นสร้างผลลัพธ์ต่อไปนี้
Update count: 1
ให้เราตรวจสอบบันทึกของตารางลูกค้าโดยดำเนินการค้นหาต่อไปนี้
SELECT * FROM CUSTOMER;
แบบสอบถามข้างต้นสร้างผลลัพธ์ต่อไปนี้ -
| ID | ชื่อ | อายุ | ที่อยู่ | เงินเดือน |
|---|---|---|---|---|
| 1 | ราเมช | 32 | อาเมดาบัด | พ.ศ. 2543 |
| 2 | คิลัน | 25 | เดลี | 1,500 |
| 3 | Kaushik | 23 | โคตะ | พ.ศ. 2543 |
| 4 | Chaitali | 25 | มุมไบ | 6500 |
| 5 | ฮาร์ดิค | 27 | โภปาล | 8500 |
| 6 | Komal | 22 | ส.ส. | 4500 |
| 7 | Muffy | 24 | อินดอร์ | 10,000 |
| 8 | โลกิ | 32 | ไฮเดอราบาด | 3000 |