Bài giảng Cơ sở dữ liệu: Con trỏ - ThS. Nguyễn Ngọc Quỳnh Châu
Số trang: 19
Loại file: pdf
Dung lượng: 821.34 KB
Lượt xem: 2
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Cơ sở dữ liệu - Con trỏ" trình bày khái niệm về con trỏ trong cơ sở dữu liệu, các bước với con trỏ, khai báo con trỏ, duyệt các bản ghi trong con trỏ, đóng và giải phóng con trỏ,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Con trỏ - ThS. Nguyễn Ngọc Quỳnh ChâuCON TRỎ (CURSOR)Khái niệm• Các thao tác như SELECT, UPDATE, DELETE đều thao tác lên nhiều dòng dữ liệu thỏa mãn điều kiện WHERE mà không thể thao tác lên từng dòng dữ liệu cụ thể• CURSOR là một đối tượng của CSDL được dùng để thao tác với từng dòng dữ liệu• Đặc điểm: do phải lặp qua từng dòng dữ liệu nên đây là cách xử lý chậm nhất.Các bước với con trỏ• Khai báo con trỏ: DECLARE• Mở con trỏ: OPEN• Duyệt dữ liệu trong con trỏ: FETCH• Đóng con trỏ: CLOSE• Giải phóng bộ nhớ: DEALLOCATEKhai báo con trỏKhai báo con trỏ• Tên cursor : tên của biến kiểu cursor. LOCAL\GLOBAL: phạm vi hoạt động của biến cursor là cục bộ hay toàn cục• FORWARD_ONLY: duyệt mẫu tin chỉ theo chiều từ trên xuống dưới.• SCROLL: duyệt mẫu tin theo chiều tùy ý• STATIC: dữ liệu trong con trỏ không thay đổi dù dữ liệu trong bảng nguồn thay đổi• DYNAMIC: dữ liệu trong con trỏ thay đổi theo sự thay đổi của dữ liệu trong bảng nguồn Khai báo con trỏ• KEYSET: giống DYNAMIC nhưng chỉ thay đổi những dòng bị cập nhật READ_ONLY: chỉ đọc• SCROLL_LOCK: đọc/ghi• SELECT: không chứa các mệnh đề INTO, COMPUTE, COMPUTE BY• Danh sách các cột cập nhật: danh sách các cột sẽ thay đổi được. Khai báo con trỏVí dụ: Để định nghĩa một biến cursor chứa toànbộ các dòng dữ liệu bên trong bảng NHANVIEN,duyệt được theo cả hai chiều:declare cur_Nhanvien cursorscrollforselect * from NhanvienMở con trỏCú pháp: OPEN tên_con_trỏVí dụ: OPEN CUR_NHANVIEN Duyệt các bản ghi trong con trỏ• FETCH FIRST FROM tên_con_trỏ: duyệt bản ghi đầu tiên• FETCH NEXT FROM tên_con_trỏ: duyệt bản ghi tiếp theo• FETCH PRIOR FROM tên_con_trỏ: duyệt bản ghi đứng trước bản ghi hiện tại• FETCH LAST FROM tên_con_trỏ: duyệt bản ghi cuối cùngDuyệt các bản ghi trong con trỏ• FETCH ABSOLUTE n: n>0 thì truy cập đến dòng thứ n sau dòng đầu tiên, n0 thì truy cập đến dòng thứ n nằm đằng sau so với vị trí của bản ghi hiện tại, nĐóng và giải phóng con trỏ• Đóng con trỏ: CLOSE tên_con_trỏ• Giải phóng con trỏ: DEALLOCATE tên_con_trỏVí dụVí dụ• Câu lệnh FETCH NEXT FROM CUR_NHANVIENtrỏ đến bản ghi tiếp theo trong con trỏ:• Câu lệnh FETCH ABSOLUTE 3 FROM CUR_NHANVIENtrỏ đến bản ghi thứ 3 trong con trỏ:• Câu lệnh FETCH ABSOLUTE -6 FROM CUR_NHANVIEN• Câu lệnh FETCH RELATIVE 3 FROM CUR_NHANVIENtrỏ đến bản ghi thứ 3 nằm phía sau với bản ghi hiện tại trongcon trỏ:• Ví dụ: Sử dụng con trỏ kết hợp với các biến khác• Khai báo con trỏ như sau: declare cur_Nhanvien cursor scroll for select MaNV, Hoten from Nhanvien• Sử dụng hai biến @a và @b để chứa dữ liệu trong con trỏ:open cur_Nhanviendeclare @a char(10), @b nchar(40)while @@fetch_status=0beginfetch next from cur_Nhanvien into @a, @bprint NMã nhân viên: + @a + N Họ tên nhânviên: +@bend
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở dữ liệu: Con trỏ - ThS. Nguyễn Ngọc Quỳnh ChâuCON TRỎ (CURSOR)Khái niệm• Các thao tác như SELECT, UPDATE, DELETE đều thao tác lên nhiều dòng dữ liệu thỏa mãn điều kiện WHERE mà không thể thao tác lên từng dòng dữ liệu cụ thể• CURSOR là một đối tượng của CSDL được dùng để thao tác với từng dòng dữ liệu• Đặc điểm: do phải lặp qua từng dòng dữ liệu nên đây là cách xử lý chậm nhất.Các bước với con trỏ• Khai báo con trỏ: DECLARE• Mở con trỏ: OPEN• Duyệt dữ liệu trong con trỏ: FETCH• Đóng con trỏ: CLOSE• Giải phóng bộ nhớ: DEALLOCATEKhai báo con trỏKhai báo con trỏ• Tên cursor : tên của biến kiểu cursor. LOCAL\GLOBAL: phạm vi hoạt động của biến cursor là cục bộ hay toàn cục• FORWARD_ONLY: duyệt mẫu tin chỉ theo chiều từ trên xuống dưới.• SCROLL: duyệt mẫu tin theo chiều tùy ý• STATIC: dữ liệu trong con trỏ không thay đổi dù dữ liệu trong bảng nguồn thay đổi• DYNAMIC: dữ liệu trong con trỏ thay đổi theo sự thay đổi của dữ liệu trong bảng nguồn Khai báo con trỏ• KEYSET: giống DYNAMIC nhưng chỉ thay đổi những dòng bị cập nhật READ_ONLY: chỉ đọc• SCROLL_LOCK: đọc/ghi• SELECT: không chứa các mệnh đề INTO, COMPUTE, COMPUTE BY• Danh sách các cột cập nhật: danh sách các cột sẽ thay đổi được. Khai báo con trỏVí dụ: Để định nghĩa một biến cursor chứa toànbộ các dòng dữ liệu bên trong bảng NHANVIEN,duyệt được theo cả hai chiều:declare cur_Nhanvien cursorscrollforselect * from NhanvienMở con trỏCú pháp: OPEN tên_con_trỏVí dụ: OPEN CUR_NHANVIEN Duyệt các bản ghi trong con trỏ• FETCH FIRST FROM tên_con_trỏ: duyệt bản ghi đầu tiên• FETCH NEXT FROM tên_con_trỏ: duyệt bản ghi tiếp theo• FETCH PRIOR FROM tên_con_trỏ: duyệt bản ghi đứng trước bản ghi hiện tại• FETCH LAST FROM tên_con_trỏ: duyệt bản ghi cuối cùngDuyệt các bản ghi trong con trỏ• FETCH ABSOLUTE n: n>0 thì truy cập đến dòng thứ n sau dòng đầu tiên, n0 thì truy cập đến dòng thứ n nằm đằng sau so với vị trí của bản ghi hiện tại, nĐóng và giải phóng con trỏ• Đóng con trỏ: CLOSE tên_con_trỏ• Giải phóng con trỏ: DEALLOCATE tên_con_trỏVí dụVí dụ• Câu lệnh FETCH NEXT FROM CUR_NHANVIENtrỏ đến bản ghi tiếp theo trong con trỏ:• Câu lệnh FETCH ABSOLUTE 3 FROM CUR_NHANVIENtrỏ đến bản ghi thứ 3 trong con trỏ:• Câu lệnh FETCH ABSOLUTE -6 FROM CUR_NHANVIEN• Câu lệnh FETCH RELATIVE 3 FROM CUR_NHANVIENtrỏ đến bản ghi thứ 3 nằm phía sau với bản ghi hiện tại trongcon trỏ:• Ví dụ: Sử dụng con trỏ kết hợp với các biến khác• Khai báo con trỏ như sau: declare cur_Nhanvien cursor scroll for select MaNV, Hoten from Nhanvien• Sử dụng hai biến @a và @b để chứa dữ liệu trong con trỏ:open cur_Nhanviendeclare @a char(10), @b nchar(40)while @@fetch_status=0beginfetch next from cur_Nhanvien into @a, @bprint NMã nhân viên: + @a + N Họ tên nhânviên: +@bend
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cơ sở dữ liệu Cơ sở dữ liệu Hệ quản trị cơ sở dữu liệu Giải phóng con trỏ Khai báo con trỏ Bản ghi trong con trỏGợi ý tài liệu liên quan:
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 376 6 0 -
13 trang 288 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 287 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 281 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 253 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 242 0 0 -
8 trang 186 0 0
-
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 180 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 175 0 0