Danh mục

Phần 8 Lập trình T-SQL , Các giao dịch & Quản lý bảo mật

Số trang: 12      Loại file: pdf      Dung lượng: 582.28 KB      Lượt xem: 12      Lượt tải: 0    
Thư viện của tui

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Các bước đưa ra trong chương này rất chi tiết, toàn diện và tỷ mỉ. Các phần thực hành được bám sát theo mục tiêu của bài học và giúp chúng ta hiểu và sử dụng các công cụ một cách trọn vẹn. Bạn hãy thực hành cẩn thận theo từng bước dưới đây
Nội dung trích xuất từ tài liệu:
Phần 8 Lập trình T-SQL , Các giao dịch & Quản lý bảo mậtPhần 8 Lập trình T-SQL , Các giao dịch & Quản lý bảomật (Thực hành)Mục tiêu bài học:Cuối bài học này các bạn có thể: Viết các câu lệnh T-SQL để thi hành các kiểu giao dịch khác nhau Định nghĩa và sử dụng các biến cục bộ và biến toàn cục Tạo lập các đăng nhập và người dùngCác bước đưa ra trong chương này rất chi tiết, toàn diện và tỷ mỉ. Các phần thực hành được bámsát theo mục tiêu của bài học và giúp chúng ta hiểu và sử dụng các công cụ một cách trọn vẹn.Bạn hãy thực hành cẩn thận theo từng bước dưới đây.Phần I: Hướng dẫn học Thời gian: 30 phútPhần thực hành này được kết hợp với 3 chương lý thuyết trước. Bởi vì các bài tập và các phầnhướng dẫn thực hành sẽ bao gồm tất cả các khái niệm và các kỹ năng đã được giới thiệu trongcác chương này. Mục tiêu của buổi thực hành này để giúp sinh viên hiểu về các câu lệnh T-SQL,cách sử dụng các biến toàn cục & cục bộ và các hàm thư viện. Các ví dụ và các bài tập trongphần thực hành này sẽ tập trung vào những chủ đề này. Chúng ta sẽ sử dụng CSDL NorthWindcho các ví dụ của chúng ta. Các giao dịch8.1Giao dịch là một nhóm các thao tác của SQL Server kết hợp lại thành một nhóm đơn lẻ côngviệc. Có các kiểu giao dịch sau đây: Các giao dịch ngầm định Các giao dịch tường minh Các giao dịch tự động xác nhận lệnh (Auto-commit)8.1.2Các giao dịch ngầm địnhKhi một kết nối đang làm việc trong chế độ giao dịch ngầm định, SQL Server tự động khởi độngmột giao dịch mới sau giao dịch hiện hành đã được xác nhận (committed) hoặc hủy bỏ (rolledback). Chế độ giao dịch ngầm định sinh ra một chuỗi các giao dịch. 1. Mở Query Analyzer. 2. Thực hiện lệnh sau: CREATE TABLE A (COL1 INT, COL2 CHAR(1)) SET IMPLICIT_TRANSACTIONS ON INSERT INTO A VALUES (1,A) INSERT INTO A VALUES (2,B) SELECT COUNT(*) FROM A COMMIT TRANSACTION INSERT INTO A VALUES (3,C)Lập trình T-SQL , Các giao dịch & Quản lý bảo mật 108 SELECT COUNT(*) FROM A COMMIT TRANSACTION SET IMPLICIT_TRANSACTIONS OFFGiao dịch ngầm định trên sẽ tạo lập một bảng và chèn giá trị vào bảng. Giao dịch ngầm định thựchiện một chuỗi các giao dịch. Vì vậy, tất cả các giao dịch được thực hiện từng bước một trừ khigiao tác ngầm định được thiết lập là off. Lệnh SET được sử dụng để định cấu hình cấp độ phiêngiao dịch cài đặt trong SQL Server.Kết quả của truy vấn được hiển thị trong hình 8. Hình 8.1: Các giao dịch ngầm định8.1.2Các giao dịch tường minhGiao dịch tường minh là một giao dịch chúng ta định nghĩa bằng sự bắt đầu và kết thúc của giaodịch. Giao dịch tường minh còn được gọi là các giao dịch người sử dụng định nghĩa.BEGIN TRANSACTION, COMMIT TRANSACTION và ROLLBACK TRANSACTION là cáccâu lệnh được sử dụng để định nghĩa các giao tác tường minh.Sử dụng BEGIN và COMMIT TRANSACTIONCâu lệnh BEGIN TRANSACTION đánh dấu điểm bắt đầu của một giao tác. COMMITTRANSACTION đánh dấu kết thúc giao tácChúng ta hãy tăng giá trị UnitPrice trong bảng Products bằng 15 với điều kiện CategoryIDbằng 1. 1. Thực hiện các lệnh dưới đâyLập trình T-SQL , Các giao dịch & Quản lý bảo mật 109 BEGIN TRAN Tran2 SELECT productid,productname FROM Products UPDATE Products SET UnitPrice=UnitPrice+15 WHERE CategoryID = 1 COMMIT TRANKết quả của truy vấn được hiển thị như hình 8.2 Hình 8.2: Các giao dịch tường minhSử dụng Rollback TransactionROLLBACK TRANSACTION đưa giao dịch về điểm bắt đầu của giao dịch hoặc một điểm địnhrõ trước đó. 1. Thực hiện lệnh sau đây. BEGIN TRAN TRAN3 SELECT PRODUCTID,PRODUCTNAME FROM PRODUCTS WHERE UNITPRICE=16 UPDATE PRODUCTS SET UNITPRICE=UNITPRICE+14 WHERE UNITPRICE=14 IF @@ROWCOUNT>0 BEGIN SELECT UNITPRICE FROM PRODUCTS WHERE UNITPRICE = 30 PRINT TRANSACTION IS ROLLED BACK ROLLBACK TRANLập trình T-SQL , Các giao dịch & Quản lý bảo mật 110 END SELECT UNITPRICE FROM PRODUCTS WHERE UNITPRICE=30Kết quả của truy vấn được hiển thị như hình 8.3. Hình 8.3: Hủy bỏ giao dịch8.1.4 Giao dịch AutocommitGiao dịch Autocommit là giao dịch ngầm định. SQL server thực hiện theo chế độ tự động xácnhận bất kể chế độ mặc định này là giao dịch ngầm định hoặc tường minh.SQL Server thực hiện trong chế độ tự động xác nhận (autocommit) tới khi BEGINTRANSACTION của giao dịch ngầm định hoặc tường minh được thiết lập là ON. Khi giao dịchngầm định hoặc tường minh thi ...

Tài liệu được xem nhiều: