เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้งาน Savepoint

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

Anita บอกว่าสคริปต์ของเธอมีข้อผิดพลาดอยู่ แต่เธอไม่แน่ใจว่าจะแก้ไขอย่างไร ช่วยเธอหน่อยได้ไหม?

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Transactions and Error Handling in SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • รันโค้ดเพื่อตรวจสอบว่ามีข้อผิดพลาดใดบ้าง
  • แก้ไขข้อผิดพลาดทุกจุด

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

BEGIN TRAN;
	-- Mark savepoint1
	savepoint1 SAVE TRAN;
	INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');

	-- Mark savepoint2
    savepoint2 SAVE TRAN;
	INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');

	-- Rollback savepoint2
	savepoint2 ROLLBACK TRAN;
    -- Rollback savepoint1
	savepoint1 ROLLBACK TRAN;

	-- Mark savepoint3
	savepoint3 SAVE TRAN;
	INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;
แก้ไขและรันโค้ด