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

Oracle PL / SQL - Cách tạo một biến mảng đơn giản?

Bạn có thể sử dụng VARRAY cho một mảng có kích thước cố định:

declare
   type array_t is varray(3) of varchar2(10);
   array array_t := array_t('Matt', 'Joanne', 'Robert');
begin
   for i in 1..array.count loop
       dbms_output.put_line(array(i));
   end loop;
end;

Hoặc TABLE cho một mảng không bị ràng buộc:

...
   type array_t is table of varchar2(10);
...

Từ "bảng" ở đây không liên quan gì đến các bảng cơ sở dữ liệu, thật khó hiểu. Cả hai phương pháp đều tạo mảng trong bộ nhớ.

Với một trong hai cách này, bạn cần khởi tạo và mở rộng bộ sưu tập trước khi thêm các phần tử:

declare
   type array_t is varray(3) of varchar2(10);
   array array_t := array_t(); -- Initialise it
begin
   for i in 1..3 loop
      array.extend(); -- Extend it
      array(i) := 'x';
   end loop;
end;

Chỉ số đầu tiên là 1 không phải 0.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sống sót sau một cuộc kiểm tra Oracle

  2. Oracle SQL:Hiểu hoạt động của SYS_GUID () khi hiển thị trong dạng xem nội tuyến?

  3. tổng kết tuần tự truy vấn oracle trên mỗi hàng

  4. Tương đương với các bảng bên ngoài Oracle trong SQL Server

  5. Nhận số lượng tất cả các bảng trong một giản đồ