
关联数组,也称为索引表,是一种存储键值对的 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):指定键(索引)的类型。
让我们创建一个关联数组来存储和显示带有整数键的颜色。
黑色全屏自适应的H5模板 HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括: 新的解析规则增强了灵活性 淘汰过时的或冗余的属性 一个HTML5文档到另一个文档间的拖放功能 多用途互联网邮件扩展(MIME)和协议处理程序注册 在SQL数据库中存
56
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号