OrientDB - อัปเดตบันทึก
Update Recordคำสั่งใช้เพื่อแก้ไขค่าของเร็กคอร์ดเฉพาะ SET เป็นคำสั่งพื้นฐานในการอัพเดตค่าฟิลด์เฉพาะ
คำสั่งต่อไปนี้เป็นไวยากรณ์พื้นฐานของคำสั่ง Update
UPDATE <class>|cluster:<cluster>|<recordID>
[SET|INCREMENT|ADD|REMOVE|PUT <field-name> = <field-value>[,]*] |[CONTENT| MERGE <JSON>]
[UPSERT]
[RETURN <returning> [<returning-expression>]]
[WHERE <conditions>]
[LOCK default|record]
[LIMIT <max-records>] [TIMEOUT <timeout>]
ต่อไปนี้เป็นรายละเอียดเกี่ยวกับตัวเลือกในไวยากรณ์ด้านบน
SET - กำหนดฟิลด์ที่จะอัปเดต
INCREMENT - เพิ่มค่าฟิลด์ที่ระบุตามค่าที่กำหนด
ADD - เพิ่มรายการใหม่ในช่องคอลเลกชัน
REMOVE - ลบรายการออกจากช่องคอลเลกชัน
PUT - ใส่รายการลงในช่องแผนที่
CONTENT - แทนที่เนื้อหาบันทึกด้วยเนื้อหาเอกสาร JSON
MERGE - ผสานเนื้อหาบันทึกกับเอกสาร JSON
LOCK- ระบุวิธีการล็อคบันทึกระหว่างการโหลดและการอัปเดต เรามีสองตัวเลือกที่จะระบุDefault และ Record.
UPSERT- อัปเดตระเบียนหากมีอยู่หรือใส่ระเบียนใหม่หากไม่มี ช่วยในการดำเนินการแบบสอบถามเดียวแทนการดำเนินการสองแบบสอบถาม
RETURN - ระบุนิพจน์ที่จะส่งกลับแทนจำนวนเร็กคอร์ด
LIMIT - กำหนดจำนวนบันทึกสูงสุดที่จะอัปเดต
TIMEOUT - กำหนดเวลาที่คุณต้องการให้การอัปเดตทำงานก่อนที่จะหมดเวลา
ตัวอย่าง
ให้เราพิจารณาตารางลูกค้าเดียวกันกับที่เราใช้ในบทที่แล้ว
ซีเนียร์ | ชื่อ | อายุ |
---|---|---|
1 | Satish | 25 |
2 | กฤษณะ | 26 |
3 | Kiran | 29 |
4 | Javeed | 21 |
5 | ราชา | 29 |
ลองใช้คำค้นหาต่อไปนี้เพื่ออัปเดตอายุของลูกค้า "ราชา"
Orientdb {db = demo}> UPDATE Customer SET age = 28 WHERE name = 'Raja'
หากดำเนินการค้นหาข้างต้นสำเร็จคุณจะได้ผลลัพธ์ดังต่อไปนี้
Updated 1 record(s) in 0.008000 sec(s).
ในการตรวจสอบบันทึกของตารางลูกค้าคุณสามารถใช้แบบสอบถามต่อไปนี้
orientdb {db = demo}> SELECT FROM Customer
หากดำเนินการค้นหาข้างต้นสำเร็จคุณจะได้ผลลัพธ์ดังต่อไปนี้
----+-----+--------+----+-------+----
# |@RID |@CLASS |id |name |age
----+-----+--------+----+-------+----
0 |#11:0|Customer|1 |satish |25
1 |#11:1|Customer|2 |krishna|26
2 |#11:2|Customer|3 |kiran |29
3 |#11:3|Customer|4 |javeed |21
4 |#11:4|Customer|5 |raja |28
----+-----+--------+----+-------+----