Làm cách nào để sử dụng con trỏ trong thủ tục lưu trữ MySQL?
Trong hầu hết các trường hợp, khi thực hiện các truy vấn SQL bằng cách sử dụng MySQL shell hoặc MySQL workbench, chúng tôi không lưu kết quả, mặc dù chúng tôi có chức năng lưu kết quả do máy chủ xử lý bằng quy trình được lưu trữ Show
Trong hướng dẫn này, tôi sẽ không thảo luận về các thủ tục, chức năng hoặc trình kích hoạt được lưu trữ. Thay vào đó, tôi sẽ chỉ đi sâu vào việc chỉ cho bạn cách bạn có thể sử dụng các con trỏ MySQL để chạy các kết quả trong các thủ tục được lưu trữ Trước khi bắt đầu tạo và sử dụng con trỏ với các ví dụ, chúng ta hãy dành một chút thời gian để thảo luận về một số điểm chính về con trỏ mà bạn nên biết Các tính năng của một con trỏ MySQL
Bây giờ chúng ta đã biết ý nghĩa của con trỏ, chúng ta có thể bắt đầu minh họa cách nó hoạt động bằng các ví dụ thực tế Sử dụng cơ bảnCú pháp chung để khai báo con trỏ trong MySQL rất đơn giản. Chúng tôi bắt đầu bằng cách sử dụng từ khóa KHAI THÁC như được hiển thị trong truy vấn mẫu bên dưới Cách khai báo con trỏKHAI BÁO tên_con trỏ CON TRỎ CHO SELECT_expression; Tên_con_trỏ là tên đặt cho con trỏ khi khai báo. Lưu ý rằng việc khai báo con trỏ phải sau bất kỳ biến nào được khai báo để ngăn MySQL dẫn đến lỗi Tiếp theo là biểu thức SELECT, lưu câu lệnh SELECT liên kết với con trỏ Làm thế nào để mở một con trỏKhi chúng tôi đã khai báo một con trỏ và MySQL biết rằng con trỏ tồn tại, chúng tôi có thể bắt đầu sử dụng nó, yêu cầu phải mở con trỏ Cú pháp chung để mở một con trỏ như trong truy vấn bên dưới MỞ tên_con_trỏ; Lệnh này mở các con trỏ được tham chiếu theo tên của nó và người ta có thể bắt đầu sử dụng nó Cách lấy dữ liệuMở con trỏ cho phép bạn tìm nạp thông tin được lưu trữ trong thủ tục, chức năng hoặc trình kích hoạt Cú pháp chung để tìm nạp dữ liệu bằng con trỏ như được hiển thị FETCH cursor_name VÀO các biến; GHI CHÚ. Như đã đề cập, đảm bảo rằng con trỏ được sử dụng sau khi các biến được khai báo để tránh lỗi Cách đóng và nhả con trỏSau khi hoàn thành các thao tác yêu cầu con trỏ đã xác định, tốt nhất là đóng con trỏ để giải phóng bộ nhớ được liên kết với nó Sau khi đóng con trỏ, người dùng cần mở lại con trỏ bằng từ khóa OPEN (hình trên) trước khi sử dụng con trỏ Bạn không cần khai báo con trỏ sau câu lệnh close Cú pháp chung để đóng con trỏ như trong truy vấn bên dưới ĐÓNG tên_con_trỏ; Xử lý lỗiCon trỏ MySQL hoạt động bằng cách đọc đệ quy hàng tiếp theo trong tập kết quả. Nếu không có hàng tiếp theo, con trỏ sẽ đóng và không trả về dữ liệu trừ khi được chỉ định. Đây có thể là một vấn đề, đặc biệt là sau khi con trỏ đi đến cuối kết quả Là một giải pháp, một trình xử lý KHÔNG TÌM KIẾM được xác định. Điều này chỉ định hành động sẽ được thực hiện nếu không tìm thấy hàng tiếp theo Cú pháp chung để xử lý lỗi khi sử dụng con trỏ là KHAI BÁO TIẾP TỤC XỬ LÝ KHÔNG TÌM KIẾM SET chấm dứt = true; Giá trị kết thúc là một biến được sử dụng để xác định rằng con trỏ đã đi đến cuối kết quả. Tên biến có thể là bất kỳ tên nào miễn là phù hợp với quy ước đặt tên biến của MySQL GHI CHÚ. Giống như tất cả các biến được sử dụng trong con trỏ, nó phải được xác định trước khi được sử dụng trong con trỏ Trường hợp sử dụng ví dụHãy để chúng tôi tạo một con trỏ thu thập email của khách hàng có sẵn trong bảng khách hàng của cơ sở dữ liệu mẫu Sakila Tài nguyên để tải xuống và cài đặt cơ sở dữ liệu Sakila bên dưới https. // nhà phát triển. mysql. com/doc/sakila/en/ Phần sau đây minh họa quy trình sử dụng con trỏ để tìm nạp email SỬ DỤNG sakila; Khi truy vấn thực thi, bạn sẽ nhận được kết quả như hình bên dưới Phần kết luậnTrong hướng dẫn này, chúng tôi đã hướng dẫn sử dụng con trỏ MySQL để phân tích cú pháp dữ liệu được lưu trữ trong tập kết quả. Xem xét tài liệu để nắm vững cách thực hiện các con trỏ Chúng ta có thể sử dụng con trỏ trong thủ tục lưu trữ MySQL không?MySQL hỗ trợ con trỏ bên trong các chương trình được lưu trữ . Cú pháp giống như trong SQL nhúng. Con trỏ có các thuộc tính này. nhạy cảm. Máy chủ có thể hoặc không thể tạo một bản sao của bảng kết quả của nó.
Làm thế nào để gọi con trỏ trong thủ tục được lưu trữ?Để sử dụng con trỏ trong thủ tục SQL, bạn cần làm như sau. . Khai báo con trỏ xác định tập kết quả Mở con trỏ để thiết lập tập kết quả Tìm nạp dữ liệu vào các biến cục bộ khi cần từ con trỏ, mỗi lần một hàng Đóng con trỏ khi hoàn tất Làm cách nào để thực thi con trỏ trong MySQL?Khai báo con trỏ sử dụng câu lệnh DECLARE Khai báo biến và điều kiện Mở con trỏ đã khai báo bằng câu lệnh OPEN Truy xuất các bản ghi mong muốn từ một bảng bằng Câu lệnh FETCH Cuối cùng đóng con trỏ bằng câu lệnh CLOSE Con trỏ hoạt động như thế nào trong MySQL?Trong MySQL, một con trỏ cho phép xử lý từng hàng của tập kết quả. Một con trỏ được sử dụng cho tập hợp kết quả và được trả về từ một truy vấn. Bằng cách sử dụng con trỏ, bạn có thể lặp lại hoặc duyệt qua các kết quả của truy vấn và thực hiện các thao tác nhất định trên mỗi hàng |