Alguém sabe como criar arrays de composite types?
Eu sei que o PG atualmente não suporta este tipo de construção, mas estava
imaginando se alguém pode sugerir alguma forma de contornar isso.
Pretendo utilizar este array como parâmetro de entrada/saída em procedures.
Minha idéia é criar procedures que serão chamadas a partir de aplicações java
(através de JDBC). Tais procedures devem manipular parâmetros de entrada/saída
que sejam do tipo composite_type[].
Uma construção parecida, em Oracle, seria assim:
SQL:
CREATE OR REPLACE TYPE TESTOBJ AS OBJECT
(
NAME VARCHAR2(100) ,
AGE INTEGER,
STATIC FUNCTION AUTOCREATE RETURN TESTOBJ
)
CREATE OR REPLACE TYPE BODY TESTOBJ AS
STATIC FUNCTION AUTOCREATE RETURN TESTOBJ IS
REC TESTOBJ;
BEGIN
REC := TESTOBJ(NULL, NULL);
RETURN REC;
END AUTOCREATE;
END;
CREATE OR REPLACE TYPE ARRAYTESTOBJ AS TABLE OF TESTOBJ
Java:
stmt = conn.prepareCall("{ call PROC_TESTOBJ(?,?,?,?,?) }");
stmt.setData(1, typeTestObj);
stmt.registerOutputParameter(2, Types.ARRAY);
stmt.execute;
Sem mais,
Artur Sampaio
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral