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

Con trỏ tham chiếu mạnh mẽ với loại dữ liệu bản ghi dựa trên bảng

Con trỏ tham chiếu mạnh với loại dữ liệu bản ghi dựa trên bảng

Như chúng ta đã tìm hiểu trong phần giới thiệu về Con trỏ tham chiếu rằng có hai loại Con trỏ tham chiếu PL / SQL trong Cơ sở dữ liệu Oracle.

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

Chúng ta sẽ khám phá tất cả các khái niệm về cả hai loại Con trỏ Tham chiếu này trong loạt bài này. Với blog này, chúng ta sẽ bắt đầu với blog đầu tiên là Con trỏ tham chiếu mạnh với kiểu dữ liệu bản ghi dựa trên bảng và với kiểu dữ liệu bản ghi do người dùng xác định.

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

Con trỏ tham chiếu có kiểu trả về cố định được gọi là Con trỏ tham chiếu mạnh trong Cơ sở dữ liệu Oracle. Vì kiểu trả về cố định, con trỏ tham chiếu mạnh chỉ có thể được sử dụng một cách chọn lọc. Ví dụ:với những câu lệnh SELECT trả về kết quả có kiểu dữ liệu khớp với kiểu mà bạn đã sửa trong quá trình khai báo của con trỏ.

Chúng tôi có thể sử dụng Con trỏ tham chiếu mạnh với bất kỳ câu lệnh SELECT nào trong Cơ sở dữ liệu Oracle không?

Không, chúng tôi không thể sử dụng Con trỏ Tham chiếu Mạnh với bất kỳ câu lệnh SELECT nào. Điều này là do 'Loại trả lại' cố định.

Tuy nhiên, nó chỉ có thể được sử dụng với những câu lệnh SELECT trả về kết quả có kiểu dữ liệu khớp với 'Mệnh đề trả về' của con trỏ.

Chúng tôi có thể sử dụng bất kỳ kiểu dữ liệu PL / SQL nào để khai báo Con trỏ Tham chiếu Mạnh của chúng tôi không?

Không chúng tôi không thể. Hơn nữa, kiểu trả về của con trỏ tham chiếu mạnh phải luôn là Kiểu dữ liệu bản ghi. Nó có thể là kiểu dữ liệu Bản ghi dựa trên bảng hoặc Kiểu dữ liệu bản ghi do người dùng xác định.

Ví dụ về con trỏ tham chiếu mạnh với kiểu dữ liệu bản ghi dựa trên bảng

Hãy viết một ví dụ. Ở đây, chúng tôi sẽ tạo Con trỏ tham chiếu mạnh với kiểu dữ liệu bản ghi dựa trên bảng.

 SET SERVEROUTPUT ON
 DECLARE
    	/*Create Ref Pointer Type*/
	TYPE	my_RefCur	IS REF CURSOR RETURN 	employees%ROWTYPE;
	/*Create Cursor Variable*/
	cur_var my_RefCur;
	rec_var     employees%ROWTYPE;
 BEGIN
	OPEN cur_var FOR SELECT * FROM employees WHERE employee_id = 100;
	FETCH cur_var INTO rec_var;
	CLOSE cur_var;
	DBMS_OUTPUT.PUT_LINE ('Employee '||rec_var.first_name||' has salary '||rec_var.salary||'.');
END;
/

Tạo Con trỏ Tham chiếu là một quá trình gồm hai bước.

Tạo loại con trỏ tham chiếu.

Đầu tiên chúng ta cần tạo một kiểu con trỏ tham chiếu. Do đó, bằng cách sử dụng câu lệnh TYPE, chúng ta tạo một con trỏ Kiểu con trỏ Tham chiếu giống như trong đoạn mã trên. Trong câu lệnh này, trước tiên bạn viết từ khóa TYPE theo sau là tên của con trỏ tham chiếu của bạn. Sau đó, bạn phải viết một cụm từ dành riêng IS REF CURSOR. Nó sẽ cho trình biên dịch biết rằng chúng ta đang tạo một kiểu là REF CURSOR. Tiếp theo là bạn phải chỉ định điều khoản RETURN.

Ví dụ

TYPE	my_RefCur	IS REF CURSOR RETURN 	employees%ROWTYPE;

Tạo biến con trỏ

Trong bước thứ hai, chúng ta tạo một biến con trỏ. Để tạo một biến con trỏ, trước tiên bạn phải viết tên của biến, sau đó là tên của Con trỏ Tham chiếu. Sau đó, biến này sẽ được sử dụng để tham chiếu đến Con trỏ Tham chiếu mà nó được tạo.

Ví dụ

cur_var my_RefCur;

Ngoài Biến con trỏ trong đoạn mã trên, chúng ta còn có một biến phụ. Đây là một lần nữa của loại dữ liệu bản ghi dựa trên bảng và được thiết kế bằng cách sử dụng bảng 'Nhân viên'. Hơn nữa, biến này sẽ giữ dữ liệu được tìm nạp từ con trỏ.

rec_var     employees%ROWTYPE;

Phần Thực thi

Trong phần thực thi của mã của chúng tôi, chúng tôi có bốn câu lệnh thực thi. Hãy để tôi giải thích những điều này cho bạn.

  1. Câu lệnh OPEN FOR

Câu lệnh đầu tiên là câu lệnh OPEN FOR. Nó liên kết câu lệnh SELECT với biến con trỏ và mở con trỏ cho câu lệnh. Hơn nữa, nó cũng tìm kiếm tất cả các tài nguyên cần thiết để xử lý câu lệnh SELECT.

  1. câu lệnh FETCH

Như chúng ta đã thảo luận trong hướng dẫn PL / SQL 26. Quá trình truy xuất dữ liệu từ con trỏ được gọi là tìm nạp. Do đó, ở đây chúng tôi đang tìm nạp dữ liệu từ Con trỏ tham chiếu vào biến bản ghi ‘Rec_Var’.

  1. Báo cáo kết thúc

Khi chúng ta đã hoàn tất việc sử dụng con trỏ thì chúng ta nên đóng nó lại để Oracle Engine / Server của chúng ta có thể từ bỏ tất cả các tài nguyên được liên kết với nó. Đó chính xác là những gì chúng tôi đã làm trong tuyên bố thứ ba. Sử dụng từ khóa CLOSE, theo sau là biến con trỏ, chúng tôi đã đóng con trỏ tham chiếu.

  1. Câu lệnh đầu ra

Câu lệnh thứ tư là một câu lệnh DBMS_OUTPUT. Nó sẽ hiển thị lại tên và mức lương của nhân viên với id nhân viên là 100.

Bạn có thể xem hướng dẫn PL / SQL 33 để tìm hiểu hoạt động của biến bản ghi dựa trên bảng.

Do đó, kết luận…

Trong đoạn mã trên, chúng tôi đã tạo một con trỏ tham chiếu mạnh PL / SQL với tên ‘my_RefCur’ sẽ trả về kiểu dữ liệu bản ghi dựa trên bảng kết quả. Hơn nữa, loại dữ liệu bản ghi dựa trên bảng này được hỗ trợ trên bảng Nhân viên của lược đồ Nhân sự. Vì vậy, trước khi thực hiện chương trình này, chúng tôi cần đảm bảo rằng chúng tôi đã kết nối với lược đồ HR trong cơ sở dữ liệu của chúng tôi.

Hơn nữa, nếu bạn học tốt hơn bằng cách xem video thì đây là một cách dành cho bạn. Hãy tiếp tục và kiểm tra nó.

Đó là hướng dẫn về cách tạo Con trỏ phản chiếu mạnh PL / SQL bằng cách sử dụng kiểu dữ liệu bản ghi dựa trên bảng trong Cơ sở dữ liệu Oracle. Hy vọng bạn đã học được một cái gì đó mới. Ngoài ra, hãy đảm bảo chia sẻ blog này trên phương tiện truyền thông xã hội với bạn bè của bạn.

Cảm ơn đã ghé thăm. Hãy theo dõi vì trong hướng dẫn tiếp theo, chúng ta sẽ tìm hiểu cách tạo con trỏ ref mạnh với biến bản ghi do người dùng xác định.

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. Thiết kế cơ sở dữ liệu

  2. Làm thế nào để tìm các hàng trùng lặp trong SQL?

  3. Hướng dẫn PL / SQL:Mọi thứ bạn cần biết về PL / SQL

  4. Làm thế nào để bạn làm cho cơ sở dữ liệu của bạn nói được nhiều ngôn ngữ?

  5. Hiểu sự khác biệt giữa toán tử EXCEPT và NOT IN