sql - 在 Oracle SQL 中创建并填充 Varray

标签 sql oracle plsql varray

我正在尝试创建一个 bean 类型的 Varray 并填充它,但我很着急,没有找到任何有用的示例。

arr=[[1,'A'],[2,'B'],[3,'C']]

这是我的代码:

 create table my_table (NUM_OPERACIO NUMBER,TITULS varchar2(3)) ;
 insert into my_table values(1,'A');
 insert into my_table values(2,'B');
 insert into my_table values(3,'C');

 create TYPE item IS object( NUM_OPERACIO NUMBER, TITULS varchar2(3)); 
 /
 create TYPE arr IS VARRAY(10) OF item;
 /

 insert into arr values( select NUM_OPERACIO, TITULS from my_table);

 FOR i IN 1..3 loop
     dbms_output.put_line(arr (i));
 END loop;

请帮我实现这个目标。

提前致谢

最佳答案

Oracle 设置:

create table my_table (NUM_OPERACIO NUMBER,TITULS varchar2(3)) ;
insert into my_table values(1,'A');
insert into my_table values(2,'B');
insert into my_table values(3,'C');

CREATE TYPE item IS object( NUM_OPERACIO NUMBER, TITULS varchar2(3)); 
/
CREATE TYPE item_array IS VARRAY(10) OF item;
/

PL/SQL:

DECLARE
  arr item_array;
BEGIN
  SELECT item( NUM_OPERACIO,TITULS )
  BULK COLLECT INTO arr
  FROM   my_table;

  FOR i IN 1..arr.COUNT loop
    dbms_output.put_line(arr(i).NUM_OPERACIO || ', ' || arr(i).TITULS);
  END loop;
END;
/

关于sql - 在 Oracle SQL 中创建并填充 Varray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41162978/

相关文章:

java - 按父对象设置的子对象的值对父对象进行排序

sql - 如何在 ORACLE 中使用 ROWNUM 进行最大排序和另一个最小排序?

sql - 查询STATION中CITY名称最短和最长的两个城市,

oracle - 以有限的控制获取Oracle View定义

java - JPA 事务和触发器/计划作业可能发生冲突

sql - 新手问题 : Problem with results, sql, join, where, "<"操作符

mysql - SQL查询-动态子查询

sql - 我怎样才能找到我的集合中的哪些元素*不匹配?

java - 组织.hibernate.tool.schema.spi.CommandAcceptanceException : Unable to execute command

oracle - 了解 Table 和 Transaction API 之间的区别