Как передать struct с атрибутом массива из Java в хранимую процедуру SQL? - PullRequest
1 голос
/ 17 июня 2011

У меня есть несколько типов в Oracle.

create or replace
TYPE r_telefone_cand AS OBJECT (
    candidato NUMBER(10,0),
    telefone VARCHAR2(15)
);

create or replace TYPE t_telefone_cand AS TABLE OF r_telefone_cand;

create or replace
TYPE r_candidato AS OBJECT (
    codigo NUMBER(10,0),
    rg VARCHAR2(15),
    cpf NUMBER(15,0),
    nome VARCHAR2(50),
    telefone t_telefone_cand,
);

И у меня есть процедура insert_candidato, в которой параметром IN является candidato r_candidato

create or replace
PROCEDURE insert_candidato(
    candidato IN r_candidato
) AS ...

Но я не знаю, как передатьПараметр Candidato с телефонной коллекции.

Pleae, помоги мне.

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Вы можете использовать SQLData для сопоставления Java-класса с определенным пользователем типом Oracle.Проверьте документы на http://download.oracle.com/javase/1.4.2/docs/api/java/sql/SQLData.html

В вашем случае вам понадобится два типа, чтобы соответствовать типам БД.

1 голос
/ 17 июня 2011

Попробуйте с помощью JPublisher of Oracle ..!

http://download.oracle.com/docs/cd/B10500_01/java.920/a96658/intro.htm

Помогает во взаимодействии с пользовательскими объектами БД через Java.

...