Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Giới thiệu về con trỏ tham chiếu PL / SQL trong cơ sở dữ liệu Oracle

Con trỏ tham chiếu PL / SQL trong cơ sở dữ liệu Oracle là gì?

Khi nói đến hiệu suất, PL / SQL Ref Cursors trong Oracle luôn chứng tỏ mình vượt trội hơn so với con trỏ tĩnh. Do khả năng của một con trỏ tham chiếu duy nhất được kết hợp với nhiều câu lệnh SELECT trong một khối PL / SQL. Ngoài ra, điều này làm giảm nhu cầu viết các con trỏ rõ ràng riêng biệt. Hơn nữa, nó làm cho chúng trở thành một tính năng hiệu quả cao, linh hoạt và mạnh mẽ của ngôn ngữ PL / SQL. Vì vậy, chúng ta hãy khám phá Con trỏ tham chiếu trong PL / SQL và tìm hiểu thêm về nó.

Con trỏ tham chiếu PL / SQL trong Cơ sở dữ liệu Oracle là gì?

Ref Cursor là từ viết tắt của Reference to a Cursor. Đây là kiểu dữ liệu PL / SQL sử dụng mà bạn có thể khai báo một loại biến đặc biệt được gọi là Biến con trỏ.

Con trỏ Biến và Con trỏ Tham chiếu có được kết nối với nhau không?

Đó là một câu hỏi rất hay. Tôi đã thấy trong nhiều cuốn sách rằng cả hai tên này được sử dụng thay thế cho nhau. Tuy nhiên, cả hai đều là hai chủ đề riêng biệt nhưng phụ thuộc lẫn nhau.

Một mặt, biến con trỏ giống như một con trỏ tham chiếu đến khu vực ngữ cảnh khác nhau trong SGA. Trong khi Con trỏ tham chiếu là một kiểu dữ liệu chứa một giá trị con trỏ.

Sau đó, Biến con trỏ và Con trỏ tham chiếu phụ thuộc lẫn nhau như thế nào?

Như đã đề cập ở trên, các biến con trỏ được khai báo với sự trợ giúp của con trỏ tham chiếu. Do đó, chúng ta có thể nói rằng trong Cơ sở dữ liệu Oracle, các biến con trỏ tồn tại ở dạng Con trỏ tham chiếu .

Định nghĩa về biến con trỏ
Sử dụng tất cả các thông tin trên, chúng ta có thể định nghĩa biến con trỏ là:Một biến của Kiểu con trỏ Ref được gọi là Biến con trỏ.

Cú pháp khai báo con trỏ tham chiếu là gì?

Đây là cú pháp tổng quát để khai báo con trỏ Tham chiếu trong Cơ sở dữ liệu Oracle:

DECLARE
 TYPE [cursor_variable_name] IS REF CURSOR [RETURN (return_type)];

Cú pháp có thể được sửa đổi và sử dụng tùy thuộc vào loại Con trỏ Tham chiếu mà bạn muốn sử dụng trong ứng dụng của mình. Đã nói rằng chúng ta hãy xem các loại Con trỏ Tham chiếu có sẵn trong Cơ sở dữ liệu Oracle.

Chúng ta có bao nhiêu loại con trỏ tham chiếu PL / SQL?

Có hai loại con trỏ tham chiếu trong PL / SQL. Đây là:

  1. Con trỏ Tham chiếu mạnh mẽ và
  2. Con trỏ tham chiếu yếu

Con trỏ Tham chiếu Mạnh trong Cơ sở dữ liệu Oracle là gì?

Bất kỳ Con trỏ Tham chiếu nào có kiểu trả về cố định được gọi là Con trỏ Tham chiếu Mạnh.

Hơn nữa, các con trỏ tham chiếu như vậy chỉ có thể được sử dụng với một số câu lệnh SELECT. Ngoài ra, kết quả của kiểu dữ liệu của câu lệnh SELECT phải khớp với kiểu dữ liệu đã được sửa trong quá trình khai báo của con trỏ mạnh.

Cú pháp của con trỏ tham chiếu mạnh trong PL / SQL

Đây là cú pháp của con trỏ tham chiếu mạnh mẽ.

DECLARE
	TYPE cursor_variable_name IS REF CURSOR 
RETURN (return type);

Mệnh đề Return đóng một vai trò rất quan trọng trong việc khai báo Con trỏ Tham chiếu. Nó hạn chế phạm vi của nó. Và làm cho Con trỏ Tham chiếu của bạn bị giới hạn ở chỉ những câu lệnh SELECT trả về kết quả có kiểu dữ liệu khớp với kiểu bạn đã chỉ định trong mệnh đề RETURN khi khai báo.

Ngoài ra, kiểu trả về của Con trỏ tham chiếu phải luôn có Kiểu dữ liệu bản ghi. Nó có thể là cấu trúc bản ghi của một bảng hoặc cấu trúc bản ghi do người dùng xác định.

Con trỏ phản chiếu yếu trong Cơ sở dữ liệu Oracle là gì?

Ngược lại với con trỏ tham chiếu mạnh, con trỏ tham chiếu yếu là những con không có bất kỳ kiểu trả về nào. Nói cách khác, những con trỏ tham chiếu không có kiểu trả về cố định được gọi là con trỏ tham chiếu yếu.

Vì Con trỏ tham chiếu yếu không có bất kỳ kiểu trả về cố định nào nên chúng mở cho tất cả các câu lệnh SELECT. Và điều này làm cho chúng trở thành một trong những con trỏ tham chiếu được sử dụng nhiều nhất trong PL / SQL.

Cú pháp của con trỏ phản chiếu yếu trong PL / SQL

DECLARE
	TYPE ref_cursor_name IS REF CURSOR;

Ngoại trừ mệnh đề trả về bị thiếu, cú pháp khá giống với các con trỏ tham chiếu mạnh.

Một nghiên cứu của Canada cho thấy rằng con người về mặt sinh học là lười biếng. Ngoài ra, việc có một máy tính với tất cả các quyền xử lý này có ích gì khi chúng ta phải làm tất cả các công việc khó khăn là khai báo kiểu con trỏ Tham chiếu và sau đó tạo một biến.

Chà, các bạn thân mến của tôi nếu bạn là một trong những người không muốn thực hiện tất cả các công việc khó khăn trong việc tạo Biến con trỏ thì Oracle PL / SQL có một lựa chọn cho bạn. Tùy chọn này sẽ phục vụ như một biến con trỏ được tạo ngầm cho bạn. Vì vậy, hãy xem nó là gì.

Sys_RefCursor

Con trỏ Sys Ref là một biến con trỏ được tích hợp sẵn trong Oracle. Nó khai báo một con trỏ tham chiếu yếu và điều đó cũng vậy mà không khai báo loại con trỏ tham chiếu. Chủ yếu nó được sử dụng như một con trỏ chung có thể được truyền như một đối số cho một chương trình con được lưu trữ.

Đó chính là hướng dẫn này về giới thiệu con trỏ tham chiếu PL / SQL trong Cơ sở dữ liệu Oracle. Hãy theo dõi vì trong các hướng dẫn sắp tới, chúng tôi sẽ thực hiện một số trình diễn thực tế về Con trỏ Tham chiếu trong Oracle PL / SQL.

Bạn cũng có thể tham khảo video hướng dẫn cùng chủ đề trên kênh YouTube của tôi để biết thêm chi tiết.

Cám ơn vì ghé qua. Chúc một ngày tốt lành!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận ORA-03115:kiểu dữ liệu mạng không được hỗ trợ hoặc lỗi đại diện khi tìm nạp mảng varchar từ pl / sql ẩn danh

  2. Oracle:Có cách nào để lấy lỗi cú pháp SQL gần đây không?

  3. Làm thế nào để có được quý từ ngày trong Oracle?

  4. UPSERT vào bảng với tên bảng động

  5. Cách tạo người dùng trong Oracle Multitenant 12c không có tiền tố C ##