У меня есть эта таблица, созданная следующим образом:
CREATE TABLE FORNECPRODS
( SUPPLIER FORNEC_OBJ ,
PRODUCTS PRODTABLE
)NESTED TABLE "PRODUCTS" STORE AS "PRODUCTSTABLE";
/
create or replace
type PRODTABLE as table of PROD_OBJ;
create or replace
TYPE PROD_OBJ AS OBJECT (
ID_PROD NUMBER(6,0),
NOME_PROD VARCHAR2(100),
PREC_COMPRA_PROD NUMBER(10,2),
PREC_VENDA_PROD NUMBER(10,2),
QTD_STOCK_PROD NUMBER(10),
QTD_STOCK_MIN_PROD NUMBER(10),
IVA_PROD NUMBER(6,2)
);
/
create or replace
type PRODTABLE as table of PROD_OBJ;
/
create or replace type FORNEC_OBJ as object (
ID_FORNECEDOR NUMBER(6) ,
NOME_FORNECEDOR VARCHAR2(100) ,
MORADA VARCHAR2(300),
ARMAZEM VARCHAR2(300),
EMAIL VARCHAR2(30),
TLF NUMBER(30) ,
TLM NUMBER(30),
FAX NUMBER(30)
);
/
Проблема в том, что я пытаюсь получить список продуктов для каждого поставщика из таблицы FORNECPRODS, но не могу (моя идея заключалась в том, чтобы вернуть структуру, похожую на хеш с: list_of_products). Чтобы попробовать это, я использовал этот код только для печати продуктов от каждого поставщика:
declare
v_products prodtable;
TYPE t_supplier is TABLE OF FORNEC_OBJ;
v_supplier t_supplier;
begin
select supplier bulk collect into v_supplier from fornecprods;
for j in v_supplier.first.. v_supplier.last
loop
select products into v_products
from fornecprods where supplier = v_supplier(j);
dbms_output.put_line('-----------------------');
dbms_output.put_line('Products list of ' || v_supplier(j).NOME_FORNECEDOR);
dbms_output.put_line('-----------------------');
for i in v_products.first .. v_products.last
loop
dbms_output.put(v_products(i).NOME_PROD);
end loop;
end loop;
end;
но он не нашел данных для первого выбора.
Итак, кто-то может помочь мне найти способ получить список (prodtable) из оракула в Java? У меня уже есть класс для сопоставления поставщика и продукта, я даже передал массив каждого из них из Java в Oracle, поэтому они хороши, мне нужно только, чтобы мое j-дерево выглядело так:
ПОСТАВЩИКИ
-> SUPPLIER1
-prod1
-prod2
- ...
-> SUPPLIER2
-prod1
-prod2
- ....
Можно ли получить всю эту информацию, например, хэш supplier:list_of_products
с моей текущей таблицей и типами?