View và Các Con Trỏ (Hướng dẫn thực hành)

12 720 3
View và Các Con Trỏ (Hướng dẫn thực hành)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

View và Các Con Trỏ (Hướng dẫn thực hành)

Chương 12 View Các Con Trỏ (Hướng dẫn thực hành) Mục đích Hồn thành chương bạn có thể:        Tạo view sử dụng chương trình Enterprise Manager cú pháp T-SQL Sửa đổi view sử dụng Enterprise Manager Đổi tên view sử dụng Enterprise Manager Tạo kiểu trỏ khác Thực thi nhiều tác vụ khác với trỏ Sửa đổi liệu trỏ Đóng giải phóng trỏ Các bước thực hành chương mô tả chi tiết dễ hiểu, để thực học viên cần nắm mục đích chương hiểu cách sử dụng công cụ Hãy ý làm theo bước sau: Phần I – Hướng dẫn 12.1 Thời gian : tiếng 30 phút Views (hay khung nhìn) Các view bảng liệu ảo định nghĩa câu truy vấn Một view không tồn vật lý tập hợp liệu lưu trữ sở liệu Tuy nhiên, giống bảng liệu thực với tập hợp hàng, cột liệu Dữ liệu View nhận từ bảng thực sở liệu việc định nghĩa câu truy vấn SQL 12.1.1 Tạo View View tạo cách chọn liệu từ nhiều bảng câu lệnh SELECT Cũng giống đối tượng liệu khác, view phải gán tên sở liệu Câu lệnh CREATE VIEW sử dụng để tạo view trình Query Analyzer View cịn tạo sử dụng chức Create View Wizard có Enterprise Manager Chúng ta xem bước thực dùng trình Create View Wizard: Nháy đúp chuột vào sở liệu Northwind Một danh sách đổi tượng sở liệu Northwind hiển thị Nháy chuột vào biểu tường Run a Wizard cơng cụ nháy chuột vào Tools menu chọn chức Wizards từ menu đổ xuống Mở rộng lựa chọn Database Một danh sách chức hiển thị Chọn chức Create View Wizard Nhấn nút OK View trỏ 169 Chương trình Create View Wizard xuất Nhấn nút Next Chọn sở liệu Northwind từ danh sách Database name nhấn nút Next Trong cột Include in View, nhấn chuột đánh dấu ô sáng bên cạnh bảng Orders Order Details để chọn chúng Nhấn nút Next Trong cột Select Column, nhấn chuột đánh dấu ô sáng tương ứng với cột OrderDate bảng Orders, cột OrderID, ProductID Quantity bàng Order Details 10 Nhấn nút Next Cửa sổ Define Restriction chương trình xuất Cửa sổ sử dụng để nhập vào điều kiện ràng buộc liệu Mệnh đề WHERE câu lệnh SELECT đưa 11 Gõ vào dòng sau cửa sổ Define Restriction: where "Order Details".orderid = Orders.orderid and ProductID between 11 and 20 and CustomerID = 'BONAP' 12 Nhấn nút Next 13 Gõ vào tên view “Bonap_Orders_VIEW” Nhấn nút Next Lệnh tạo view hiển thị hình 12.1 170 Thiết kế sở liệu thực hành với SQL Server Hình 12.1: Create View Wizard 14 Nhấn nút Finish 15 Hộp thoại Wizard Complete xuất Nhấn nút OK view hiển thị cửa sổ bên phải 12.1.2 Sửa đổi View Một view sửa đổi trình Enterprise Manager Chúng ta sửa đổi Bonap_Orders_VIEW để khơng hiển thị cột Quantity Các bước thực thi Enterprise Manager sau: Nhấn chuột phải vào view Bonap_Orders_VIEW sở liệu Northwind Một danh sách chức xuất Chọn Design View từ danh sách chức Cửa sổ thiết kế view hiển thị Xố đánh dấu sáng cạnh cột Quantity Việc sửa đổi thiết kê hiển thị hình 12.2 View trỏ 171 Hình 12.2: Sửa đổi thiết kế View Nhấn nút save công cụ cửa sổ thiết kế để ghi lại thay đổi Nhấn nút close để thoát khỏi hình thiết kế 12.1.3 Đổi tên View Chúng ta đổi tên view Enterprise Manager chẳng hạn đổi tên view Bonap_Orders_VIEW thành Bonap_Orders Các bước thực trình Enterprise Manager sau: Nhấn chuột phải view Bonap_Orders_VIEW sở liệu Northwind Một danh sách chức xuất Chọn chức Rename từ menu Đổi tên view thành Bonap_Orders Một hộp thoại xuất hình 12.3 Hình 12.3: Hộp thoại xác nhận việc đổi tên View 172 Thiết kế sở liệu thực hành với SQL Server Nhấn nút Yes hộp thoại Nhấn nút OK hộp thoại thông báo việc đổi tên thành công View đổi tên xuất hình 12.4 Hình 12.4: Đổi tên view 12.2 Các trỏ Trong sở liệu quan hệ, tác vụ thực bảng chứa tất hàng Câu lệnh SELECT trả hàng thoả mãn điều kiện đưa mệnh đề WHERE Nhưng số ứng dụng, đặc biệt ứng dụng tương tác, khơng thể làm việc với tồn tập hợp hàng Những ứng dụng cần số kỹ thuật để làm việc với hàng, tập hàng Con trỏ mở rộng tập hợp kết trả nhằm cung cấp kỹ thuật để làm việc với hàng thời điểm Một trỏ đối tượng sở liệu mà ứng dụng sử dụng để xử lý liệu theo hàng Sử dụng câu lệnh T-SQL DECLARE CURSOR để định nghĩa thuộc tính trỏ T-SQL 12.2.1 Khai báo trỏ Chúng ta tạo trỏ để hiển thị title_id, title, price, ytd_sales từ bảng titles cho sách có kiểu ‘psychology’ Các bước tiến hành trình Query Analyzer sau: Trong Query Analyzer, chọn sở liệu pubs Thực đoạn lệnh sau: DECLARE TitleCursor CURSOR SCROLL FOR SELECT title_id, title, price, ytd_sales FROM titles View trỏ 173 WHERE type = 'psychology' Con trỏ tạo 12.2.2 Mở trỏ Sau khai báo trỏ, cần mở để truy nhập đến hàng Thực lệnh sau: OPEN TitleCursor 12.2.3 Truy xuất hàng trỏ Lệnh FETCH nhận hàng từ trỏ hiển thị hình Lệnh FETCH có nhiều tính hữu dụng Ngầm định, lệnh FETCH không kèm theo tuỳ chọn hiển thị ghi vị trí trỏ đến hàng logic hiên Do khơng có q trình xử lý từ trỏ mở nên trỏ vị trí ghi Thực lệnh sau: FETCH TitleCursor Kết lệnh FETCH hiển thị hình 12.5 Hình 12.5: Truy xuất hàng trỏ Bản ghi hiển thị trỏ trỏ đến hàng thứ hai 12.2.4 Truy xuất hàng Bởi trỏ hàng thứ hai nên để hiển thị hàng thứ nhất, sử dụng tuỳ chọn FIRST lệnh FETCH Thực lệnh sau: FETCH FIRST FROM TitleCursor Kết hiển thị hình 12.6 174 Thiết kế sở liệu thực hành với SQL Server Hình 12.6: Truy xuất hàng trỏ 12.2.5 Truy xuất hàng Thực lệnh sau: FETCH NEXT FROM TitleCursor Kết hiển thị hình 12.7 Hình 12.7: Truy xuất hàng trỏ 12.2.6 Truy xuất hàng cuối Thực lệnh sau: FETCH LAST FROM TitleCursor Kết hiển thị hình 12.8 View trỏ 175 Hình 12.8: Truy xuất hàng cuối trỏ 12.2.7 Truy xuất xác đến hàng Từ khoá ABSOLUTE sử dụng để truy xuất đến hàng xác định số hiệu vị trí trỏ Thực lệnh sau: FETCH ABSOLUTE FROM TitleCursor Kết hiển thị hàng thứ hai trỏ, xem hình 12.9 Hình 12.9: Truy xuất hàng xác định trỏ 12.2.8 Truy xuất đến hàng liên quan Từ khoá RELATIVE sử dụng lệnh FETCH để vị trí có quan hệ với vị trí ghi Thực lệnh sau: FETCH RELATIVE FROM TitleCursor Kết hình 12.10 176 Thiết kế sở liệu thực hành với SQL Server Hình 12.10: Truy xuất hàng liên quan trỏ 12.2.9 Đóng trỏ giải phóng Khi trỏ khơng sử dụng đến nữa, nên đóng lại giải phóng khỏi nhớ Bây đóng giải phóng trỏ TitleCursor Thực đoạn lệnh sau: CLOSE TitleCursor DEALLOCATE TitleCursor 12.2.10 Tạo trỏ FORWARD_ONLY (Chỉ tiến) Chúng ta khai báo trỏ FORWARD_ONLY để thay đổi liệu nó.Con trỏ bao gồm tất ghi bảng jobs mà có giá trị trường min_lvl = 75 Sau thay đổi giá trị cột max_lvl ghi = 100 Thực đoạn lệnh sau Query Analyzer: DECLARE JobsCursor CURSOR FORWARD_ONLY FOR SELECT * FROM jobs WHERE min_lvl = 75 FOR UPDATE OPEN JobsCursor FETCH JobsCursor UPDATE jobs SET max_lvl = 100 WHERE CURRENT OF JobsCursor WHERE CURRENT OF Cursor2 SELECT * FROM jobs WHERE min_lvl = 75 CLOSE JobsCursor DEALLOCATE JobsCursor Kết hiển thị hình 12.11 View trỏ 177 Hình 12.11 : Ví dụ trỏ FORWARD_ONLY Câu lệnh FETCH hiển thị nguyên bản ghi trỏ Trường Max_lvl thay đổi giá trị ghi đầu tiên, sau câu lệnh SELECT hiển thị giá trị thay đổi 12.2.11 Tạo trỏ READ_ONLY( đọc) Bây tạo trỏ READ_ONLY, bao gồm hàng bảng pub_info, hàng phải có giá trị trường pub_id nằm khoảng 1000 đến 2000 Sau thử xóa hàng trỏ xem kết Thực đoạn lệnh sau: DECLARE PubInfoCursor CURSOR READ_ONLY FOR SELECT * FROM pub_info WHERE pub_id between 1000 and 2000 OPEN PubInfoCursor FETCH PubInfoCursor DELETE FROM pub_info WHERE CURRENT OF PubInfoCursor CLOSE PubInfoCursor DEALLOCATE PubInfoCursor Lệnh DELETE trả lỗi hiển thị hình 12.12 178 Thiết kế sở liệu thực hành với SQL Server Hình 12.12: Ví dụ trỏ READ_ONLY Phần II – Bài tập Thời gian : 30 phút Hãy thực thao tác sau Query Analyzer sử dụng sở liệu Northwind Tạo View có tên EmpHierarchy dựa bảng employees sử dụng câu lệnh CREATE VIEW View bao gồm trường employee ID, first name, last name, first name người mà nhân viên làm báo cáo cho, Trong View EmpHierarchy, thay đổi last name ghi có trường the employee ID có giá trị thành ‘Jones’ Sử dụng câu lệnh UPDATE để thay đổi liệu bảng Xóa View EmpHierarchy sử dụng câu lệnh DROP VIEW Tạo trỏ SCROLL có tên SuppliersCursor, trỏ chứa ghi nhà cung cấp từ ‘UK’ ‘USA’, lấy từ bảng Suppliers Mở trỏ, hiển thị ghi ghi cuối Đóng giải phóng trỏ khỏi nhớ Phần III – Bài tập nhà Thực thao tác sau Enterprise Manager, sử dụng sở liệu pubs: Tạo View có tên Sales_View, Nó chứa liệu từ bảng titleauthor, sales titles View chứa trường author ID, title ID, royalty percentage, store ID số lượng bán tác giả có ID 724-80-9391 View trỏ 179 Thực thao tác sau Query Analyzer, sử dụng sở liệu pubs database: Khai báo trỏ có chứa thông tin chi tiết nhân viên nhà xuất có ID 0877 Tăng thời hạn hợp đồng cho tất nhân viên ghi lẻ lên năm Cuối hiển thị tất nhân viên nhà xuất có ID 0877 để kiểm tra thay đổi 180 Thiết kế sở liệu thực hành với SQL Server ... pubs Thực đoạn lệnh sau: DECLARE TitleCursor CURSOR SCROLL FOR SELECT title_id, title, price, ytd_sales FROM titles View trỏ 173 WHERE type = ''psychology'' Con trỏ tạo 12.2.2 Mở trỏ Sau khai báo trỏ, ... Nhấn nút OK view hiển thị cửa sổ bên phải 12.1.2 Sửa đổi View Một view sửa đổi trình Enterprise Manager Chúng ta sửa đổi Bonap_Orders _VIEW để khơng hiển thị cột Quantity Các bước thực thi Enterprise... Enterprise Manager chẳng hạn đổi tên view Bonap_Orders _VIEW thành Bonap_Orders Các bước thực trình Enterprise Manager sau: Nhấn chuột phải view Bonap_Orders _VIEW sở liệu Northwind Một danh sách

Ngày đăng: 11/09/2012, 14:32

Hình ảnh liên quan

Hình 12.1: Create View Wizard - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.1.

Create View Wizard Xem tại trang 3 của tài liệu.
Hình 12.2: Sửa đổi thiết kế của View - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.2.

Sửa đổi thiết kế của View Xem tại trang 4 của tài liệu.
5. Nhấn nút close để thoát khỏi màn hình thiết kế. 12.1.3 Đổi tên View - View và Các Con Trỏ (Hướng dẫn thực hành)

5..

Nhấn nút close để thoát khỏi màn hình thiết kế. 12.1.3 Đổi tên View Xem tại trang 4 của tài liệu.
View được đổi tên xuất hiện như hình 12.4. - View và Các Con Trỏ (Hướng dẫn thực hành)

iew.

được đổi tên xuất hiện như hình 12.4 Xem tại trang 5 của tài liệu.
Lệnh FETCH nhận về các hàng từ con trỏ và hiển thị nó trên màn hình. Lệnh FETCH có rất nhiều tính năng hữu dụng - View và Các Con Trỏ (Hướng dẫn thực hành)

nh.

FETCH nhận về các hàng từ con trỏ và hiển thị nó trên màn hình. Lệnh FETCH có rất nhiều tính năng hữu dụng Xem tại trang 6 của tài liệu.
Kết quả được hiển thị trong hình 12.6. - View và Các Con Trỏ (Hướng dẫn thực hành)

t.

quả được hiển thị trong hình 12.6 Xem tại trang 7 của tài liệu.
Hình 12.6: Truy xuất hàng đầu tiên của con trỏ 12.2.5 Truy xuất hàng tiếp theo - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.6.

Truy xuất hàng đầu tiên của con trỏ 12.2.5 Truy xuất hàng tiếp theo Xem tại trang 7 của tài liệu.
Hình 12.8: Truy xuất hàng cuối cùng của con trỏ 12.2.7 Truy xuất chính xác đến một hàng - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.8.

Truy xuất hàng cuối cùng của con trỏ 12.2.7 Truy xuất chính xác đến một hàng Xem tại trang 8 của tài liệu.
Hình 12.9: Truy xuất một hàng xác định trong con trỏ 12.2.8 Truy xuất đến một hàng liên quan - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.9.

Truy xuất một hàng xác định trong con trỏ 12.2.8 Truy xuất đến một hàng liên quan Xem tại trang 8 của tài liệu.
Hình 12.10: Truy xuất hàng liên quan trong con trỏ 12.2.9 Đóng con trỏ và giải phóng nó - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.10.

Truy xuất hàng liên quan trong con trỏ 12.2.9 Đóng con trỏ và giải phóng nó Xem tại trang 9 của tài liệu.
1. Thực hiện đoạn lệnh sau: - View và Các Con Trỏ (Hướng dẫn thực hành)

1..

Thực hiện đoạn lệnh sau: Xem tại trang 9 của tài liệu.
Hình 12.1 1: Ví dụ về con trỏ FORWARD_ONLY - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.1.

1: Ví dụ về con trỏ FORWARD_ONLY Xem tại trang 10 của tài liệu.
Bây giờ chúng ta tạo ra một con trỏ READ_ONLY, nó bao gồm các hàng của bảng - View và Các Con Trỏ (Hướng dẫn thực hành)

y.

giờ chúng ta tạo ra một con trỏ READ_ONLY, nó bao gồm các hàng của bảng Xem tại trang 10 của tài liệu.
Hình 12.12: Ví dụ về con trỏ READ_ONLY - View và Các Con Trỏ (Hướng dẫn thực hành)

Hình 12.12.

Ví dụ về con trỏ READ_ONLY Xem tại trang 11 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan