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.
CON TRỎ (CURSOR) Khái niệm • Các thao tác SELECT, UPDATE, DELETE thao tác lên nhiều dòng liệu thỏa mãn điều kiện WHERE mà thao tác lên dòng liệu cụ thể • CURSOR đối tượng CSDL dùng để thao tác với dòng liệu • Đặc điểm: phải lặp qua dòng liệu nên cách xử lý chậm Các bước với trỏ • Khai báo trỏ: DECLARE • Mở trỏ: OPEN • Duyệt liệu trỏ: FETCH • Đóng trỏ: CLOSE • Giải phóng nhớ: DEALLOCATE Khai báo trỏ Khai báo trỏ • Tên cursor : tên biến kiểu cursor LOCAL\GLOBAL: phạm vi hoạt động biến cursor cục hay toàn cục • FORWARD_ONLY: duyệt mẫu tin theo chiều từ xuống • SCROLL: duyệt mẫu tin theo chiều tùy ý • STATIC: liệu trỏ khơng thay đổi dù liệu bảng nguồn thay đổi • DYNAMIC: liệu trỏ thay đổi theo thay đổi liệu bảng nguồn Khai báo trỏ • KEYSET: giống DYNAMIC thay đổi dòng bị cập nhật READ_ONLY: đọc • SCROLL_LOCK: đọc/ghi • SELECT: khơng chứa mệnh đề INTO, COMPUTE, COMPUTE BY • Danh sách cột cập nhật: danh sách cột thay đổi Khai báo trỏ Ví dụ: Để định nghĩa biến cursor chứa tồn dòng liệu bên bảng NHANVIEN, duyệt theo hai chiều: declare cur_Nhanvien cursor scroll for select * from Nhanvien Mở trỏ Cú pháp: OPEN tên_con_trỏ Ví dụ: OPEN CUR_NHANVIEN Duyệt ghi trỏ • FETCH FIRST FROM tên_con_trỏ: duyệt ghi • FETCH NEXT FROM tên_con_trỏ: duyệt ghi • FETCH PRIOR FROM tên_con_trỏ: duyệt ghi đứng trước ghi • FETCH LAST FROM tên_con_trỏ: duyệt ghi cuối Duyệt ghi trỏ • FETCH ABSOLUTE n: n>0 truy cập đến dòng thứ n sau dòng đầu tiên, n0 truy cập đến dòng thứ n nằm đằng sau so với vị trí ghi tại, n