Perfect. Thanks!
Rodney Bailey, November 18, 2020 - 11:34 am UTC
Thanks for your response. I suspected that maybe the "LOBs in one table" approach may have been old advice.
As far as the CLOB/BLOB choice, I'll admit I was a little unsure of the ramifications of the decision to follow Oracle's advice and go with BLOB. Since I do not want my API to be aware of specific tables (like PURCHASE_ORDERS or SALES_ORDERS in my example), I query the row in Apex and then pass in the BLOB to my API which reads my configuration setup from a setup table and builds each APEX item, populating the value in the item (using JSON_VALUE) and returns the items (html script) as a row in a pipelined function. (This passing of the BLOB was my big concern and the reason for the original question).
As far as exposing the data to reports or other processes, I envision providing views that expose the needed attributes using Oracle's JSON API's for querying. I don't envision the need to hand over the entire document to an outside process. But if I did, is it not as simple as using the TO_CLOB() function? Are there some complexities or severe performance issues I should be aware of? Like I said, I think my current use cases can be served with a BLOB but I would like to have an understanding for future use cases.
November 18, 2020 - 11:55 pm UTC
as simple as using the TO_CLOB() function
Yes, but many tools you can just point at the table and you're done. Now you're adding the requirement of an SQL and/or a view for every access. Maybe those tools when looking at the SQL or view won't see the relationships that pointing directly at a table would see (foreign keys etc).