关联数组,也称为索引表,是一种存储键值对的 pl/sql 集合类型。它类似于其他编程语言中的字典或哈希表。关联数组非常强大,因为它们可以动态增长或收缩,并且您可以使用键(整数或字符串)访问它们的元素。
1。动态尺寸:
2。稀疏索引:
3。键值对:
4。易于使用:
要声明关联数组,您需要定义一个新类型,然后创建该类型的变量。具体方法如下:
1。声明:
type array_type is table of datatype index by pls_integer; -- or type array_type is table of datatype index by varchar2(size);
variable_name array_type;
数据类型:这是您要存储的元素的数据类型(例如,number、varchar2、date)。
index by pls_integer 或 index by varchar2(size):指定键(索引)的类型。
让我们创建一个关联数组来存储和显示带有整数键的颜色。
declare -- define an associative array type with integer indexing type color_array is table of varchar2(30) index by pls_integer; v_colors color_array; begin -- assign values to the associative array v_colors(1) := 'red'; v_colors(2) := 'green'; v_colors(3) := 'blue'; -- access and print specific values dbms_output.put_line('color at index 1: ' || v_colors(1)); -- output: red dbms_output.put_line('color at index 2: ' || v_colors(2)); -- output: green -- use the count method to show the number of elements dbms_output.put_line('total colors: ' || v_colors.count); -- output: 3 -- loop through the associative array using the index range for i in v_colors.first .. v_colors.last loop if v_colors.exists(i) then dbms_output.put_line ('color at index ' || i || ': ' || v_colors(i)); end if; end loop; end; /
1。声明:
2。赋值:
3。访问元素:
4。使用收集方法:
5。循环遍历数组:
通过使用 .first 和 .last,您可以创建一个处理每个元素的循环,确保您不会错过任何元素并正确处理稀疏数组。
您还可以使用字符串作为关联数组中的键,这在您需要映射名称或标识符时特别有用。
DECLARE -- Define an associative array type with string indexing TYPE color_code_array IS TABLE OF VARCHAR2(10) INDEX BY VARCHAR2(20); v_color_codes color_code_array; BEGIN -- Assign values to the associative array v_color_codes('Red') := 'FF0000'; v_color_codes('Green') := '00FF00'; v_color_codes('Blue') := '0000FF'; -- Retrieve and print a specific color code DBMS_OUTPUT.PUT_LINE('Color code for Green: ' || v_color_codes('Green')); -- Output: 00FF00 -- Print all color codes FOR color IN (SELECT COLUMN_VALUE FROM TABLE(v_color_codes.keys)) LOOP DBMS_OUTPUT.PUT_LINE('Color: ' || color.COLUMN_VALUE || ' - Code: ' || v_color_codes(color.COLUMN_VALUE)); END LOOP; END; /
摘要:
关联数组非常适合临时数据处理、查找表以及需要在 pl/sql 代码中高效映射或转换数据的场景。
以上就是PL/SQL 中的关联数组的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号