Sự khác biệt giữa Con trỏ rõ ràng và Con trỏ ngầm

Sự khác biệt giữa Con trỏ rõ ràng và Con trỏ ngầm
Sự khác biệt giữa Con trỏ rõ ràng và Con trỏ ngầm

Video: Sự khác biệt giữa Con trỏ rõ ràng và Con trỏ ngầm

Video: Sự khác biệt giữa Con trỏ rõ ràng và Con trỏ ngầm
Video: hướng dẫn mở khóa nhanh tại nhà #shorts 2024, Tháng mười một
Anonim

Con trỏ rõ ràng so với Con trỏ ngầm

Khi nói đến cơ sở dữ liệu, con trỏ là một cấu trúc điều khiển cho phép duyệt qua các bản ghi trong cơ sở dữ liệu. Con trỏ cung cấp một cơ chế để gán tên cho câu lệnh SQL select và sau đó nó có thể được sử dụng để thao tác thông tin trong câu lệnh SQL đó. Con trỏ ngầm được tự động tạo và sử dụng mỗi khi câu lệnh Chọn được đưa ra trong PL / SQL, khi không có con trỏ được xác định rõ ràng. Con trỏ rõ ràng, như tên cho thấy, được định nghĩa rõ ràng bởi nhà phát triển. Trong PL / SQL, một con trỏ rõ ràng thực sự là một truy vấn được đặt tên được xác định bằng cách sử dụng con trỏ từ khóa.

Con trỏ Ngầm là gì?

Các con trỏ ngầm được Oracle tự động tạo và sử dụng mỗi khi một câu lệnh chọn được đưa ra. Nếu con trỏ ngầm được sử dụng, Hệ thống quản lý cơ sở dữ liệu (DBMS) sẽ tự động thực hiện các thao tác mở, tìm nạp và đóng. Con trỏ ngầm chỉ nên được sử dụng với các câu lệnh SQL trả về một hàng. Nếu câu lệnh SQL trả về nhiều hơn một hàng, việc sử dụng con trỏ ngầm sẽ gây ra lỗi. Một con trỏ ngầm được tự động liên kết với mỗi câu lệnh Ngôn ngữ thao tác dữ liệu (DML), cụ thể là các câu lệnh INSERT, UPDATE và DELETE. Ngoài ra, một con trỏ ngầm được sử dụng để xử lý các câu lệnh SELECT INTO. Khi tìm nạp dữ liệu bằng cách sử dụng con trỏ ngầm NO_DATA_FOUND, ngoại lệ có thể được đưa ra khi câu lệnh SQL không trả về dữ liệu. Hơn nữa, con trỏ ngầm có thể tăng TOO_MANY_ROWS ngoại lệ khi câu lệnh SQL trả về nhiều hơn một hàng.

Con trỏ rõ ràng là gì?

Như đã đề cập trước đó, con trỏ rõ ràng là các truy vấn được xác định bằng cách sử dụng tên. Một con trỏ rõ ràng có thể được coi là một con trỏ đến một tập hợp các bản ghi và con trỏ có thể được di chuyển về phía trước trong tập các bản ghi. Con trỏ rõ ràng cung cấp cho người dùng toàn quyền kiểm soát việc mở, đóng và tìm nạp dữ liệu. Ngoài ra, nhiều hàng có thể được tìm nạp bằng con trỏ rõ ràng. Con trỏ rõ ràng cũng có thể nhận các tham số giống như bất kỳ hàm hoặc thủ tục nào để các biến trong con trỏ có thể được thay đổi mỗi khi nó được thực thi. Ngoài ra, con trỏ rõ ràng cho phép bạn tìm nạp toàn bộ hàng vào biến bản ghi PL / SQL. Khi sử dụng một con trỏ rõ ràng, trước tiên nó cần được khai báo bằng tên. Các thuộc tính con trỏ có thể được truy cập bằng cách sử dụng tên được đặt cho con trỏ. Sau khi khai báo, trước tiên cần mở con trỏ. Sau đó, tìm nạp có thể được bắt đầu. Nếu nhiều hàng cần được tìm nạp, thì thao tác tìm nạp cần được thực hiện bên trong một vòng lặp. Cuối cùng, con trỏ cần được đóng lại.

Sự khác biệt giữa Con trỏ rõ ràng và Con trỏ ngầm

Sự khác biệt chính giữa con trỏ ẩn và con trỏ tường minh là con trỏ rõ ràng cần được xác định rõ ràng bằng cách cung cấp tên trong khi các con trỏ ngầm được tự động tạo khi bạn đưa ra câu lệnh select. Hơn nữa, nhiều hàng có thể được tìm nạp bằng cách sử dụng con trỏ rõ ràng trong khi con trỏ ngầm chỉ có thể tìm nạp một hàng duy nhất. Ngoài ra, các ngoại lệ NO_DATA_FOUND và TOO_MANY_ROWS không được nêu ra khi sử dụng con trỏ rõ ràng, trái ngược với con trỏ ngầm. Về bản chất, con trỏ ngầm dễ bị lỗi dữ liệu hơn và ít cung cấp khả năng kiểm soát theo chương trình hơn con trỏ tường minh. Ngoài ra, con trỏ ngầm được coi là kém hiệu quả hơn con trỏ rõ ràng.

Đề xuất: