Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 546 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 442 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Using Extensible Types or Custom Types as Bind In variables in oracledb

Hi Everyone,
I am wondering whether or not the support for extensible types is in node-oracledb's road-map.
Currently oracledb supports tables of number and varchar types with the following implementation
nodeJs :
ARR_NUMBER: { type: oracledb.NUMBER, dir: oracledb.BIND_IN, val: args.map(args=> args.number || null) }, ARR_NAME: { type: oracledb.STRING, dir: oracledb.BIND_IN, val: args.map(args=> args.name|| null) },
This works perfectly despite the fact that these bindings are string arrays, and the value is well obtained by any proc you may call....
if you try the following though:
OPEN :cursor FOR SELECT t.* FROM tb_ids t INNER JOIN TABLE( your_collection ) c ON t.id = c.COLUMN_VALUE;
however this fails to work in collection joins leading you to "ora-22905-cannot-access-rows-from-a-non-nested-table-item",
due to the fact that you have to have the types, defined outside of a proc, as a custom type or extensible pre-built types.
Please note that oracle12g users do not face this issue even with types declared at pl/sql block scope.
These work if outside of a procedure/package, but inside it's scope they do not.
TYPE test_collection_type is table of number; test_collection_type SYS.ODCINUMBERLIST := SYS.ODCINUMBERLIST();
Can you tell me if there is any way to bind data as custom types? Documentation does not cover such case.
Warm Regards.
Answers
-
Support for UDTs is being tracked in https://github.com/oracle/node-oracledb/issues/147