2018-05-22 14:54 GMT+02:00 Rafael Ponte <[email protected]>:

> Hi Lukas,
>
> Thanks again for all the explanation.
>
> I thought jOOQ didn't support associative arrays and PLSQL tables only for
> Record Types (aka PLSQL Types) but as you said it doesn't support them for
> any PLSQL Type at all. At least that's what I understood now.
>

I can't say yet if there will be any difference between the two types of
table / array types (record elements or scalar value elements). It's not
unlikely there will be.


> I also thought DBMS_SQL.Varchar2_Table was an Object Type (aka SQL Type)
> but it isn't. That's why jOOQ doesn't support it in Oracle 11g (and yes,
> you're right, I misunderstood that because your post
> <https://blog.jooq.org/2018/05/02/how-to-run-a-bulk-insert-returning-statement-with-oracle-and-jdbc/>
> ).
>

Yes, DBMS_SQL is a package, not a schema.


> So to solve my issue I had to create my custom SQL Type:
>
> create or replace type Varchar2_List is table of varchar2(4000);
>
> Now jOOQ is able to generate my classes without problems!
>

Yep, that's the current workaround.


> Although I try to favor PLSQL Types over SQL ones as much as I can,
> unfortunately we still use Oracle 11g here and I have to deal with its
> limitations related to JDBC driver. For my sake, I'm learning some ways to
> work with jOOQ in my not so good reality.
>

I also favour those types and I keep hinting at Oracle that they should
better integrate the PL/SQL types with the SQL types. From how they feel to
programmers, they're the same thing. It's a pity there's so much bridging
and glue code that needs to be written to convert between the two, even
when writing PL/SQL.

Luckily, they're moving towards the right direction, including newer
versions of the JDBC driver, which can serialise / deserialise the types
uniformly (give or take 1-2 bugs, unsupported edge cases)

Lukas

-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to