आरंभ करने के लिए आपको सभी पंक्तियों को हटाने की आवश्यकता नहीं है।
आप केवल उन पंक्तियों को हटा सकते हैं जो अब लागू नहीं होती हैं, और केवल नई पंक्तियाँ सम्मिलित कर सकते हैं। या आप उस मान को अपडेट कर सकते हैं जो अब लागू नहीं होता है और उस मान के साथ जो लागू होता है।
तो इससे पाने के लिए
Name Role
--
John Admin
John Member
John Superuser
इसके लिए
Name Role
--
John Member
John Junior
जो अब लागू नहीं होता है उसे आप हटा सकते हैं। . ।
delete from userinroles
where Name = 'John'
and (Role = 'Admin' or Role = 'Superuser');
और जो लागू हो वह डालें।
insert into userinroles (Name, Role)
values ('John', 'Junior');
या आप किसी मान को नए मान से अपडेट कर सकते हैं।
delete from userinroles
where Name = 'John'
and Role = 'Admin';
इसके बाद
update userinroles
set Role = 'Junior'
where 'Name' = 'John' and Role = 'Superuser';
आपने कहा
लेनदेन के लिए यही है। एकल SQL लेन-देन में एकाधिक कथन सभी या कुछ भी नहीं हैं--या तो वे सभी सफल होते हैं, या कोई परिवर्तन नहीं किया जाता है।