ย้อนกลับถึงจุดบันทึก SQL
ย้อนการเพิ่มแถวครั้งที่สองถึงจุดบันทึก
CREATE TEMP TABLE entries (id INTEGER);
BEGIN;
INSERT INTO entries VALUES (1);
SAVEPOINT item;
INSERT INTO entries VALUES (2);
ROLLBACK TO item;
RELEASE item;
SELECT id FROM entries;
ROLLBACK;- โปรเจกต์
- SQL โดยให้แถวแรกยังเห็นในธุรกรรม. ปล่อยจุดบันทึกแล้วย้อนธุรกรรมภายนอกเพื่อตรวจว่าการปล่อยไม่ได้ยืนยันแถวที่เหลือ.
- ตรวจสอบก่อนนำไปใช้
- เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม
- โมเดล
- ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก
CREATE TEMP TABLE entries (id INTEGER);
BEGIN;
INSERT INTO entries VALUES (1);
SAVEPOINT item;
INSERT INTO entries VALUES (2);
ROLLBACK TO item;
RELEASE item;
SELECT id FROM entries;
ROLLBACK;ตรวจเส้นทางล้มเหลวก่อนแก้โค้ดธุรกรรม
โค้ดธุรกรรมควรได้รับการตรวจที่ติดตามทั้งงานสำเร็จและความล้มเหลวบางส่วน Savepoint Arc เป็นพื้นที่เขียนโค้ด AI บน Windows ที่วางการหารือนั้นไว้ข้างไฟล์โครงการ เปิดโฟลเดอร์แอปและขอให้โมเดลที่เชื่อมต่อตรวจลำดับ SQL ผู้เรียก และผลที่คาดหวังก่อนเสนอการแก้
สำหรับการนำเข้า คำขอที่มีประโยชน์อาจตรวจว่ารายการหนึ่งที่ถูกปฏิเสธควรย้อนกลับทั้งชุดหรือเฉพาะงานหลัง savepoint ให้คำสั่งที่เกี่ยวข้องและอธิบายนโยบายที่แอปต้องการ ขอให้ผู้ช่วยเชื่อมแต่ละ rollback หรือ release ที่เสนอกับนโยบายนั้น แทนการอนุมานจากการมีธุรกรรม
ทดสอบข้อเสนอที่ได้กับสถานะฐานข้อมูลที่สังเกตได้ ในสภาพแวดล้อมทดสอบที่ทิ้งได้ ให้รันกรณีสำเร็จและกรณีล้มเหลวระหว่างคำสั่ง แล้วตรวจว่าแถวใดยังมองเห็นและผู้เรียกได้รับอะไร ตรวจโค้ดแอปควบคู่ SQL เพราะการจัดการข้อยกเว้นผิดอาจทำให้ลำดับธุรกรรมที่ดูสมเหตุสมผลใช้ไม่ได้
เลือกปลายทางที่เข้ากันได้กับ OpenAI หรือ Anthropic ที่รองรับสำหรับการสนทนา โมเดล AI ที่ลดกลไกการปฏิเสธเป็นตัวเลือกได้เฉพาะเมื่อบริการที่ตั้งค่าไว้มีให้ โดยข้อจำกัดและความสามารถกำหนดที่บริการนั้น Savepoint Arc ให้พื้นที่ตรวจการแก้ไข พฤติกรรมฐานข้อมูลยังต้องตรวจตามเอนจินและโครงการของคุณ
คำถามเกี่ยวกับขอบเขตธุรกรรม
- ควรอธิบายอะไรเกี่ยวกับการนำเข้าที่ล้มเหลวบางส่วน?
ระบุว่ารายการก่อนหน้าที่รับแล้วควรคงอยู่หรือไม่ การนำเข้าทั้งหมดต้องสำเร็จหรือล้มเหลวพร้อมกันหรือไม่ และผู้เรียกควรเห็นข้อผิดพลาดใด การตัดสินใจเหล่านี้กำหนดขอบเขตที่ต้องการ โมเดลไม่ควรเลือกนโยบายธุรกรรมจากไวยากรณ์ SQL เพียงอย่างเดียว
- การทดสอบ savepoint แทนการตรวจผู้เรียกในแอปได้หรือไม่?
ไม่ได้ ผู้เรียกอาจลองใหม่ จับข้อยกเว้น หรือส่งคำสั่งเพิ่มหลังลำดับ SQL ใส่โค้ดนั้นในการตรวจและตรวจการตอบสนองต่อความล้มเหลว โดยเฉพาะเมื่อ commit สุดท้ายอยู่นอกฟังก์ชันที่แสดง
- ควรลองการแก้ rollback ที่เสนอที่ใด?
ใช้ฐานข้อมูลทดสอบที่ทิ้งได้พร้อมข้อมูลตัวแทนและพฤติกรรมเอนจินเดียวกับที่โครงการพึ่งพา ตรวจแถวที่ได้และผลธุรกรรม อย่าถือว่าคำอธิบายทีละขั้นของโมเดลเป็นหลักฐานว่าคำสั่งทำงานสำเร็จ
- ควรเพิ่มตรรกะลองใหม่ขณะเปลี่ยน savepoint หรือไม่?
เฉพาะเมื่อมีข้อกำหนดชัดเจนและตรวจว่าทำงานซ้ำได้อย่างปลอดภัย แยกการลองใหม่จากการแก้ขอบเขตเมื่อทำได้ เพื่อให้ผลของแต่ละการเปลี่ยนเข้าใจและทดสอบได้
Savepoint Arc · อัปเดตล่าสุด 2026-10-25