Làm thế nào để bạn tìm thấy giá trị kết hợp của một mảng?

Kiểu dữ liệu mảng kết hợp được sử dụng để biểu diễn các mảng kết hợp. Nó có nhiều tính năng góp phần vào tiện ích của nó

Kiểu dữ liệu mảng kết hợp hỗ trợ các thuộc tính mảng kết hợp sau

  • Không có cardinality được xác định trước được chỉ định cho các mảng kết hợp. Điều này cho phép bạn tiếp tục thêm các phần tử vào mảng mà không cần quan tâm đến kích thước tối đa, điều này rất hữu ích nếu bạn không biết trước có bao nhiêu phần tử sẽ tạo thành một tập hợp
  • Giá trị chỉ số mảng có thể là kiểu dữ liệu không phải số nguyên. VARCHAR và INTEGER là các giá trị chỉ mục được hỗ trợ cho chỉ mục mảng kết hợp
  • Các giá trị chỉ mục không nhất thiết phải liền kề nhau. Ngược lại với một mảng thông thường được lập chỉ mục theo vị trí, một mảng kết hợp là một mảng được lập chỉ mục bởi các giá trị của kiểu dữ liệu khác và không nhất thiết phải có các phần tử chỉ mục cho tất cả các giá trị chỉ mục có thể có giữa mức thấp nhất và cao nhất. Điều này hữu ích nếu bạn muốn tạo một bộ lưu trữ tên và số điện thoại chẳng hạn. Các cặp dữ liệu có thể được thêm vào tập hợp theo bất kỳ thứ tự nào và được sắp xếp bằng cách sử dụng mục dữ liệu nào trong cặp được xác định làm chỉ mục
  • Các phần tử trong một mảng kết hợp được sắp xếp theo thứ tự tăng dần của các giá trị chỉ số. Thứ tự chèn của các phần tử không quan trọng
  • Dữ liệu mảng kết hợp có thể được truy cập và thiết lập bằng cách sử dụng các tham chiếu trực tiếp hoặc bằng cách sử dụng một tập hợp các hàm vô hướng có sẵn
  • Mảng kết hợp được hỗ trợ trong ngữ cảnh SQL PL
  • Mảng kết hợp có thể được sử dụng để quản lý và chuyển các tập hợp giá trị cùng loại dưới dạng một tập hợp thay vì phải
    • Giảm dữ liệu thành các giá trị vô hướng và sử dụng xử lý từng phần tử một có thể gây ra sự cố lưu lượng mạng
    • Sử dụng con trỏ được truyền dưới dạng tham số
    • Giảm dữ liệu thành các giá trị vô hướng và khôi phục chúng thành một tập hợp bằng cách sử dụng mệnh đề GIÁ TRỊ

Để khai báo một biến có kiểu mảng kết hợp, hãy chỉ định array-name assoctype, trong đó tên mảng đại diện cho một mã định danh được gán cho mảng kết hợp và kiểu kết hợp đại diện cho mã định danh cho một loại mảng đã khai báo trước đó

Để tham chiếu một phần tử cụ thể của mảng, hãy chỉ định array-name[n], trong đó tên mảng đại diện cho mã định danh cho một mảng đã khai báo trước đó và n đại diện cho một giá trị kiểu dữ liệu INDEX BY của kiểu kết hợp. Nếu mảng được xác định từ một loại bản ghi, thì tham chiếu trở thành array-name[n].field, trong đó trường được xác định trong loại bản ghi mà từ đó loại mảng được xác định. Để tham chiếu toàn bộ bản ghi, hãy bỏ qua trường

ví dụ

Ví dụ sau đọc mười tên nhân viên đầu tiên từ bảng EMP, lưu trữ chúng trong một mảng, sau đó hiển thị nội dung của mảng.

SET SERVEROUTPUT ON
/

CREATE OR REPLACE PACKAGE pkg_test_type1
IS
    TYPE emp_arr_typ IS TABLE OF VARCHAR2[10] INDEX BY BINARY_INTEGER;
END pkg_test_type1
/

DECLARE
    emp_arr         pkg_test_type1.emp_arr_typ;
    CURSOR emp_cur IS SELECT ename FROM emp WHERE ROWNUM 

Chủ Đề