24 ก.ค.

sql begin และ rollback ของ mssql

บางทีเราต้องการทดสอบว่า sql command นั้นๆว่าทำงานได้ถูกต้องหรือไม่ และจำนวน affeted (row ที่มีผลกระทบ) ถูกต้องหรือไม่ โดยรันกับฐานข้อมูลจริงๆ เราสามารถทำดังนี้

begin TRANSACTION;
sql command 1;

sql command 2;
rollback TRANSACTION;

 

โดยผลลัพธ์อาจจะเป็นดังนี้

(1 row(s) affected)

(1 row(s) affected)