Anda tidak perlu menghapus semua baris untuk memulai.
Anda hanya dapat menghapus baris yang tidak lagi berlaku, dan hanya menyisipkan baris yang baru. Atau Anda dapat memperbarui nilai yang tidak lagi berlaku dengan nilai yang berlaku.
Jadi untuk mendapatkan dari ini
Name Role
--
John Admin
John Member
John Superuser
untuk ini
Name Role
--
John Member
John Junior
Anda dapat menghapus apa yang tidak lagi berlaku. . .
delete from userinroles
where Name = 'John'
and (Role = 'Admin' or Role = 'Superuser');
dan masukkan apa yang berlaku.
insert into userinroles (Name, Role)
values ('John', 'Junior');
Atau Anda dapat memperbarui nilai dengan nilai baru.
delete from userinroles
where Name = 'John'
and Role = 'Admin';
Diikuti oleh
update userinroles
set Role = 'Junior'
where 'Name' = 'John' and Role = 'Superuser';
Anda mengatakan
Itulah gunanya transaksi. Beberapa pernyataan dalam satu transaksi SQL adalah semuanya atau tidak sama sekali--semuanya berhasil, atau tidak ada perubahan yang dibuat.