TRANSACTION SQL LÀ GÌ

Lớp 1

Lớp 2

Lớp 2 - Kết nối tri thức

Lớp 2 - Chân ttránh sáng sủa tạo

Lớp 2 - Cánh diều

Tài liệu ttê mê khảo

Lớp 3

Sách giáo khoa

Tài liệu tmê say khảo

Sách VNEN

Lớp 4

Sách giáo khoa

Sách/Vsống bài xích tập

Đề thi

Lớp 5

Sách giáo khoa

Sách/Vsinh hoạt bài tập

Đề thi

Lớp 6

Lớp 6 - Kết nối tri thức

Lớp 6 - Chân ttránh sáng sủa tạo

Lớp 6 - Cánh diều

Sách/Vsinh sống bài tập

Đề thi

Chuim đề và Trắc nghiệm

Lớp 7

Sách giáo khoa

Sách/Vở bài bác tập

Đề thi

Chuyên đề và Trắc nghiệm

Lớp 8

Sách giáo khoa

Sách/Vnghỉ ngơi bài bác tập

Đề thi

Chulặng đề & Trắc nghiệm

Lớp 9

Sách giáo khoa

Sách/Vở bài tập

Đề thi

Chulặng đề và Trắc nghiệm

Lớp 10

Sách giáo khoa

Sách/Vsinh sống bài tập

Đề thi

Chuyên đề & Trắc nghiệm

Lớp 11

Sách giáo khoa

Sách/Vsinh sống bài tập

Đề thi

Chuyên đề & Trắc nghiệm

Lớp 12

Sách giáo khoa

Sách/Vngơi nghỉ bài xích tập

Đề thi

Chulặng đề & Trắc nghiệm

IT

Ngữ pháp Tiếng Anh

Lập trình Java

Phát triển web

Lập trình C, C++, Python

Cửa hàng dữ liệu


*

Cơ bản về SQLSquốc lộ DatabaseSQL TableNhóm lệnh thao tác làm việc cơ bảnMệnh đề trong SQLHoạt động Squốc lộ nâng caoRàng buộc vào SQLSquốc lộ JoinHàm trong SQLTài liệu Squốc lộ tham khảo
Transaction vào SQL
Trang trước
Trang sau

Transaction vào Squốc lộ là một trong đơn vị công việc được triển khai bởi vì một Database. Transaction là đơn vị hoặc dãy quá trình được thực hiện theo một đồ vật trường đoản cú xúc tích và ngắn gọn cùng hợp lí, rất có thể được thao tác làm việc bởi người tiêu dùng hoặc do một Database program.

Bạn đang xem: Transaction sql là gì

Một transaction là một trong sự Viral của một hoặc các biến hóa tới Database. lấy ví dụ, nếu như khách hàng vẫn chế tạo ra một bản ghi hoặc cập nhật một phiên bản ghi hoặc xóa một bạn dạng ghi xuất phát từ 1 bảng, thì nhiều người đang tiến hành transaction nằm trong bảng đó. Nó là đặc biệt để điều khiển và tinh chỉnh những transaction nhằm bảo đảm trọn vẹn dữ liệu cùng nhằm cách xử trí các Database Error.

Thực tế, các bạn sẽ tập đúng theo nhiều truy tìm vấn Squốc lộ vào trong một tổ và đang xúc tiến tất cả truy hỏi vấn này với nhau như thể một phần của một transaction.

Property của Transaction trong SQL

Transaction có 4 property chuẩn, hay được tđê mê chiếu bởi vì tên lược danh là ACID:

Atomicity: đảm bảo an toàn rằng toàn bộ vận động phía bên trong đơn vị chức năng quá trình được dứt một giải pháp thành công; còn nếu như không, transaction bị xong xuôi sinh sống điểm thất bại, cùng các vận động trước được trao trả về tâm trạng trước kia.

Consistency: đảm bảo rằng Database chuyển đổi một biện pháp đúng mực tinh thần theo một transaction đã làm được cam kết thác thành công.

Isolation: cho những transaction năng lực hoạt động một bí quyết hòa bình cùng không tương quan đến nhau.

Durability: bảo đảm an toàn rằng kết quả hoặc tác động ảnh hưởng của một transaction, nhưng đã làm được cam kết thác, vẫn còn sống thọ vào trường vừa lòng hệ thống không thắng cuộc.

Điều khiển transaction vào SQL

Trong SQL, bao gồm những lệnh sau được sử dụng để tinh chỉnh và điều khiển transaction:

COMMIT: để lưu các biến hóa.

ROLLBACK: để trở về trạng thái trước khi bao gồm thay đổi.

SAVEPOINT: chế tác những điểm (point) bên phía trong những đội transaction để ROLLBACK, có nghĩa là để trở lại điểm trạng thái đó.

SET TRANSACTION: đặt một thương hiệu cho một transaction.

Các lệnh điều khiển transaction chỉ được áp dụng với những lệnh INSERT, UPDATE với DELETE. Chúng cần thiết được thực hiện trong khi tạo với xóa bảng, chính vì rất nhiều chuyển động này được ký thác tự động trong Database.

Lệnh COMMIT vào SQL

Lệnh COMMIT là lệnh tinh chỉnh và điều khiển transaction được sử dụng nhằm lưu giữ các thay đổi đã có được triệu hồi vì một transaction cho tới Database.

Xem thêm: Tại Sao Usb Không Nhận Được Usb, Cách Sửa Lỗi Thế Nào

Lệnh COMMIT gìn giữ toàn bộ transaction trong Database tự lệnh COMMIT hoặc ROLLBACK sau cuối.

Cú pháp cơ bạn dạng của lệnh COMMIT là nhỏng sau:

COMMIT;

Ví dụ

Bảng SINHVIEN có những bản ghi sau:

+----+---------+-----+-----------+--------+| ID | TEN | TUOI| KHOAHOC | HOCPHI |+----+---------+-----+-----------+---------+| 1 | Hoang | 21 | CNTT | 4000000 || 2 | Viet | 19 | DTVT | 3000000 || 3 | Tkhô cứng | 18 | KTDN | 4000000 || 4 | Nhan | 19 | CK | 4500000 || 5 | Huong | trăng tròn | TCNH | 5000000 |+----+---------+-----+-----------+---------+Ví dụ sau đang xóa những bạn dạng ghi từ bỏ bảng mà lại gồm tuoi = 19 và sau đó COMMIT các biến hóa vào vào Database.

SQL> DELETE FROM SINHVIEN WHERE TUOI = 19;SQL> COMMIT;Trong kết quả thu được, nhị mặt hàng của bảng có khả năng sẽ bị xóa cùng lệnh SELECT vẫn mang lại công dụng sau:

+----+----------+-----+-----------+----------+| ID | TEN | TUOI| KHOAHOC | HOCPHI |+----+---------+-----+-----------+---------+| 1 | Hoang | 21 | CNTT | 4000000 || 3 | Tkhô cứng | 18 | KTDoanh Nghiệp | 4000000 || 5 | Huong | trăng tròn | TCNH | 5000000 |+----+----------+-----+-----------+----------+

Lệnh ROLLBACK vào SQL

Lệnh ROLLBACK là lệnh điều khiển và tinh chỉnh transaction được sử dụng nhằm trao trả transaction về trạng thái trước khi có các biến hóa mà không được lưu tới Database.

Lệnh ROLLBACK chỉ rất có thể được áp dụng nhằm unvì các transaction từ bỏ lệnh COMMIT hoặc ROLLBACK cuối cùng được thông báo.

Cú pháp cơ bạn dạng của lệnh ROLLBACK nlỗi sau:

ROLLBACK;

Ví dụ

Bảng SINHVIEN tất cả các phiên bản ghi sau:

+----+---------+-----+-----------+--------+| ID | TEN | TUOI| KHOAHOC | HOCPHI |+----+---------+-----+-----------+---------+| 1 | Hoang | 21 | công nghệ thông tin | 4000000 || 2 | Viet | 19 | DTVT | 3000000 || 3 | Tkhô giòn | 18 | KTDN | 4000000 || 4 | Nhan | 19 | CK | 4500000 || 5 | Huong | đôi mươi | TCNH | 5000000 |+----+---------+-----+-----------+---------+Bây giờ áp dụng lệnh ROLLBACK với lệnh xóa tuoi = 19, mà không được commit như sau:

SQL> DELETE FROM SINHVIEN WHERE TUOI = 19;SQL> ROLLBACK;Trong công dụng nhận được, hoạt động Delete này sẽ không ảnh hưởng tới bảng và lệnh SELECT đã cho kết quả:

+----+---------+-----+-----------+--------+| ID | TEN | TUOI| KHOAHOC | HOCPHI |+----+---------+-----+-----------+---------+| 1 | Hoang | 21 | CNTT | 4000000 || 2 | Viet | 19 | DTVT | 3000000 || 3 | Tkhô nóng | 18 | KTDN | 4000000 || 4 | Nhan | 19 | CK | 4500000 || 5 | Huong | trăng tròn | TCNH | 5000000 |+----+---------+-----+-----------+---------+

Lệnh SAVEPOINT vào SQL

Một SAVEPOINT là một trong những điểm (point) trong một transaction Khi bạn có thể lùi transaction về một điểm cụ thể mà ko cần lùi transaction về tâm lý đầu trước khi tất cả chuyển đổi đó.

Cú pháp cơ bạn dạng của lệnh SAVEPOINT như sau:

SAVEPOINT TEN_CUA_SAVEPOINT;Lệnh này chỉ giao hàng trong câu hỏi tạo ra một SAVEPOINT trong số lệnh tinh chỉnh transaction. Lệnh ROLLBACK được áp dụng nhằm unvì một nhóm những transaction.

Cú pháp nhằm đi lùi một SAVEPOINT nlỗi sau:

ROLLBACK TO TEN_CUA_SAVEPOINT;Trong ví dụ sau, bạn có nhu cầu xóa 3 bản ghi không giống nhau trường đoản cú bảng SINHVIEN. Quý Khách mong muốn chế tạo một SAVEPOINT trước từng lệnh DELETE, nhằm mà lại bạn có thể ROLLBACK về ngẫu nhiên SAVEPOINT làm sao tại bất kể thời điểm như thế nào nhằm trả tài liệu thích hợp về tâm lý ban đầu của nó.

Ví dụ

Bảng SINHVIEN gồm những bản ghi sau:

+----+---------+-----+-----------+--------+| ID | TEN | TUOI| KHOAHOC | HOCPHI |+----+---------+-----+-----------+---------+| 1 | Hoang | 21 | công nghệ thông tin | 4000000 || 2 | Viet | 19 | DTVT | 3000000 || 3 | Thanh khô | 18 | KTDN | 4000000 || 4 | Nhan | 19 | CK | 4500000 || 5 | Huong | 20 | TCNH | 5000000 |+----+---------+-----+-----------+---------+Dưới đây là một hàng các hoạt động:

SQL> SAVEPOINT SP1;Savepoint created.SQL> DELETE FROM SINHVIEN WHERE ID=1;1 row deleted.SQL> SAVEPOINT SP2;Savepoint created.SQL> DELETE FROM SINHVIEN WHERE ID=2;1 row deleted.SQL> SAVEPOINT SP3;Savepoint created.SQL> DELETE FROM SINHVIEN WHERE ID=3;1 row deleted.Ở trên, có 3 chuyển động xóa ra mắt. Sau một dịp, các bạn đổi khác lưu ý đến và quyết định ROLLBACK về SAVEPOINT mà bạn đang khẳng định là SP2. Bởi bởi vì SP2 được tạo thành sau chuyển động xóa trước tiên, cho nên vì thế hai vận động xóa cuối cùng được unbởi vì.

SQL> ROLLBACK TO SP2;Rollback complete.Chụ ý rằng, chỉ bao gồm chuyển động xóa đầu tiên diễn ra khi chúng ta rollbaông xã về SP2.

SQL> SELECT * FROM SINHVIEN;+----+---------+-----+-----------+--------+| ID | TEN | TUOI| KHOAHOC | HOCPHI |+----+---------+-----+-----------+---------+| 2 | Viet | 19 | DTVT | 3000000 || 3 | Thanh | 18 | KTDN | 4000000 || 4 | Nhan | 19 | CK | 4500000 || 5 | Huong | 20 | TCNH | 5000000 |+----+---------+-----+-----------+---------+4 rows selected.

Lệnh RELEASE SAVEPOINT trong SQL

Lệnh RELEASE SAVEPOINT được thực hiện để xóa một SAVEPOINT nhưng mà chúng ta đã sinh sản.

Cú pháp cơ bạn dạng của lệnh RELEASE SAVEPOINT trong SQL nhỏng sau:

RELEASE SAVEPOINT TEN_CUA_SAVEPOINT;Một lúc 1 SAVEPOINT đã trở nên xóa, chúng ta cấp thiết áp dụng lệnh ROLLBACK nhằm lùi transaction về SAVEPOINT kia nữa.

Lệnh SET TRANSACTION vào SQL

Lệnh SET TRANSACTION hoàn toàn có thể được thực hiện để khởi tạo một Database Transaction. Lệnh này được thực hiện để khẳng định đặc trưng mang lại transaction kia.