Explorations In Oracle PL/SQL programming and SQL.

  • Vector Math: Basics

    An exploration of the new vector arithmetic operations in Oracle 23ai Release 7. These operations currently support addition, subtraction and multiplication with vectors. read more

  • Sparse Vector Storage: Setting Compatible Parameter on OCI Autonomous Database

    You can’t always get what you want…. Sometimes new features that come with a release update require the compatible initialization parameter to be set to a specific release or greater. VirtualBox 23ai Setting this parameter from a privileged account in a pluggable… read more

  • Incremental Rounding: Numbers

    A look at using pl/sql to create user defined functions and sql macros for incremental rounding. read more

  • WITH Function Macros

    Use sql macros as functions in the WITH clause to easily prototype macros. read more

  • Table Data Comparison: Column Differences

    Using sql table macros to make finding row and column differences simple. read more

  • VirtualBox23ai QuickStart for OML4PY

    Are you excited about the new AI Vector Search in Oracle 23ai! Have you been able to do a vector search in the new database without calling external APIs to do vector embeddings? Unless you are skilled in Python and Linux, this… read more

  • Dynamic Unpivot Using JSON_DATAGUIDE

    In this post I will explore a way to generate and run unpivot queries dynamically in PL/SQL. We will build a utility package to dynamically create unpivot queries using json and leveraging json_dataguide to create json_table and unpivot sql expressions. read more

  • Table Data Comparison: Row Differences

    A common task that database developers encounter is comparing data between two different sources to see rows with differences. This can be a table that is loaded with new data that needs to be compared with existing rows to see what rows… read more

  • Cursor Basics: Cursor Iteration Controls

    In the previous post we discussed the use of bulk collect and limit to optimize cursor iteration. This gave us a way to see the undocumented bulk prefetch optimization that has been applied behind the scenes to the cursor for loop. Unless… read more