Chương 12 View và Các Con Trỏ (Hướng dẫn thực hành) - Pdf 19

Chương 12 View và Các Con Trỏ (Hướng dẫn thực hành)
Mục đích
Hoàn thành chương này bạn có thể:
 Tạo ra view sử dụng chương trình Enterprise Manager hoặc 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 ra các kiểu con trỏ khác nhau.
 Thực thi nhiều tác vụ khác nhau với các con trỏ.
 Sửa đổi dữ liệu bằng các con trỏ.
 Đóng và giải phóng các con trỏ.
Các bước thực hành trong chương này đã được mô tả chi tiết và dễ hiểu, để thực hiện được học
viên cần nắm được mục đích của chương và hiểu được cách sử dụng các công cụ. Hãy chú ý làm
theo các bước sau:
Phần I – Hướng dẫn Thời gian : 1 tiếng 30
phút
12.1Views (hay các khung nhìn)
Các view là các bảng dữ liệu ảo được định nghĩa bằng một câu truy vấn. Một view không
tồn tại vật lý như các tập hợp dữ liệu lưu trữ trong cơ sở dữ liệu. Tuy nhiên, nó giống
như một bảng dữ liệu thực với tập hợp các hàng, các cột dữ liệu. Dữ liệu của View nhận
được từ các bảng thực trong cơ sở dữ liệu bằng việc định nghĩa câu truy vấn SQL.
12.1.1 Tạo ra View
View có thể được tạo ra bằng cách chọn ra dữ liệu từ nhiều bảng bằng câu lệnh
SELECT. Cũng giống như các đối tượng dữ liệu khác, view phải được gán bởi một tên
duy nhất trong cơ sở dữ liệu. Câu lệnh CREATE VIEW được sử dụng để tạo ra một
view trong trình Query Analyzer. View còn có thể được tạo ra sử dụng chức năng Create
View Wizard có trong Enterprise Manager. Chúng ta cùng xem các bước thực hiện khi
dùng trình Create View Wizard:
1. Nháy đúp chuột vào cơ sở dữ liệu Northwind.
Một danh sách các đổi tượng trong cơ sở dữ liệu Northwind được hiển thị.
2. Nháy chuột vào biểu tường Run a Wizard trên thanh công cụ hoặc có thể nháy
chuột vào Tools trên menu và chọn chức năng Wizards từ menu đổ xuống.

Một view có thể được sửa đổi bằng trình Enterprise Manager. Chúng ta cùng sửa đổi
Bonap_Orders_VIEW để nó không hiển thị cột Quantity. Các bước thực thi trong
Enterprise Manager như sau:
1. Nhấn chuột phải vào view Bonap_Orders_VIEW trong cơ sở dữ liệu
Northwind.
Một danh sách các chức năng xuất hiện.
2. Chọn Design View từ danh sách các chức năng.
Cửa sổ thiết kế view được hiển thị.
3. Xoá đánh dấu trên ô sáng cạnh cột Quantity.
Việc sửa đổi thiết kê được hiển thị như hình 12.2.
View và con trỏ 171
Hình 12.2: Sửa đổi thiết kế của View
4. Nhấn nút save trên thanh công cụ trong cửa sổ thiết kế để ghi lại các thay đổi.
5. Nhấn nút close để thoát khỏi màn hình thiết kế.
12.1.3 Đổi tên View
Chúng ta có thể đổi tên của một view trong Enterprise Manager chẳng hạn đổi tên view
Bonap_Orders_VIEW thành Bonap_Orders. Các bước thực hiện trong trình
Enterprise Manager như sau:
1. Nhấn chuột phải trên view Bonap_Orders_VIEW trong cơ sở dữ liệu
Northwind.
Một danh sách các chức năng xuất hiện.
2. Chọn chức năng Rename từ menu.
3. Đổi tên view thành Bonap_Orders.
Một hộp thoại xuất hiện như 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ế cơ sở dữ liệu và thực hành với SQL Server
4. Nhấn nút Yes trong hộp thoại.
5. Nhấn nút OK trên hộp thoại thông báo việc đổi tên đã thành công.
View được đổi tên xuất hiện như hình 12.4.
Hình 12.4: Đổi tên view

rất nhiều tính năng hữu dụng.
Ngầm định, một lệnh FETCH không kèm theo tuỳ chọn nào hiển thị các bản ghi ở vị trí
con trỏ đến hàng logic hiên tại. Do không có quá trình xử lý nào từ khi con trỏ được mở
nên con trỏ này sẽ ở vị trí của bản ghi đầu tiên.
1. Thực hiện lệnh sau:
FETCH TitleCursor
Kết quả của lệnh FETCH được hiển thị trong hình 12.5.
Hình 12.5: Truy xuất các hàng của con trỏ
Bản ghi đầu tiên được hiển thị và hiện tại con trỏ trỏ đến hàng thứ hai.
12.2.4 Truy xuất hàng đầu tiên
Bởi vì con trỏ ở hàng thứ hai nên để hiển thị hàng thứ nhất, chúng ta sử dụng tuỳ chọn
FIRST của lệnh FETCH.
1. Thực hiện lệnh sau:
FETCH FIRST FROM TitleCursor
Kết quả được hiển thị trong hình 12.6.
174 Thiết kế cơ sở dữ liệu và thực hành với SQL Server
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
1. Thực hiện lệnh sau:
FETCH NEXT FROM TitleCursor
Kết quả hiển thị trong hình 12.7.
Hình 12.7: Truy xuất hàng tiếp theo của con trỏ
12.2.6 Truy xuất hàng cuối cùng
1. Thực hiện lệnh sau:
FETCH LAST FROM TitleCursor
Kết quả hiển thị trong hình 12.8.
View và con trỏ 175
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
Từ khoá ABSOLUTE được sử dụng để truy xuất đến một hàng xác định bởi số hiệu của

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 quả được hiển thị ở hình 12.11
View và con trỏ 177
Hình 12.11 : Ví dụ về con trỏ FORWARD_ONLY
Câu lệnh FETCH hiển thị nguyên bản bản ghi đầu tiên của con trỏ. Trường Max_lvl đã
được thay đổi giá trị ở bản ghi đầu tiên, và sau đó câu lệnh SELECT hiển thị giá trị đã
thay đổi đó.
12.2.11 Tạo con trỏ READ_ONLY( chỉ đọc)
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
pub_info, các hàng này phải có giá trị của trường pub_id nằm trong khoảng 1000 đến
2000. Sau đó chúng ta sẽ thử xóa một hàng của con trỏ này và xem kết quả của nó.
1. Thực hiện đ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ả về một lỗi được hiển thị trong hình 12.12
178 Thiết kế cơ sở dữ liệu và thực hành với SQL Server
Hình 12.12: Ví dụ về con trỏ READ_ONLY


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status