• APEX 24 exports – PL/SQL and SQLcl

    APEX 24 exports – PL/SQL and SQLcl

    You may have noticed in APEX 24.1 and beyond, a new option appeared when you are exporting your applications in the APEX Builder. As per the docs The rationale here is straightforward – if you are delivering apps to customers (especially customers outside your organization), then you might not want to have your user account Read more

  • You can’t beat FREE STUFF !

    You can’t beat FREE STUFF !

    Once again, the power of community. LinkedIn community member Babu Srinivasan brought this gem to my attention. You can get free training and certification with MySQL with the next couple of months! Just head over to https://education.oracle.com/mysql-promo and expand your skillset Enjoy! (and thanks Babu for letting me know) Read more

  • Can you REALLY drop those columns?

    Can you REALLY drop those columns?

    Good friend Gwen posted this on Twitter yesterday, presumably alluding to some sort of potential issue with Postgres. and it got me thinking: “I wonder how Oracle will go with this”. So here’s a simple test, showing 5000 repeated ADD and DROP column commands SQL> create table t ( x1 int, x2 int ); Table Read more

  • UNION versus UNION ALL

    UNION versus UNION ALL

    I recently posted a video where I explain the difference between UNION and UNION ALL with three aims. It should: be educational be fun be an excuse to get stuck into some candy 🤣 You can watch it below if you haven’t seen it. Someone from the community reached out to me with the following Read more

  • Don’t jump on that Zoom call … at least not right away

    Don’t jump on that Zoom call … at least not right away

    I’m sure many of you have seen the memes and the like on social media where every time someone says “Can you join a Zoom call?” or “Can you pop onto Teams?” and we all groan and think to ourselves “This is going to be a nightmare of a day” Most probably this is simply Read more

  • Spaghetti code is Good code

    Spaghetti code is Good code

    I saw this post on Bluesky over the weekend. Now before you panic, this blog post isn’t going to have any political discussion about DOGE, Trump, Republicans, Democrats and the like. I’m just going to focus on the topic of the challenges of modernising any system which has been in place for decades. And the Read more

  • More Features just by Patching

    More Features just by Patching

    As colleagues Mike Dietrich and Daniel Overby Hansen have always stated – It’s important to keep your database patched and up to date. For many of us, the first thing that springs to mind when you read or hear statements like that are the “usual suspects” – patching and upgrading ensures that security holes are Read more

  • Global Temporary Tables and Dynamic Sampling

    Global Temporary Tables and Dynamic Sampling

    A common practice when using global temporary tables (GTT) is to simply rely on dynamic sampling to give the cost optimizer the relevant statistics when it comes to using a populated GTT in subsequent queries. Here’s a simple example of that in action. I’ll put 50 rows into a GTT and the subsequent query uses Read more

  • Vectors in Oracle Database 23ai FREE

    Vectors in Oracle Database 23ai FREE

    This is a long overdue post which arose initially from a discussion with Philipp Hartenfeller way back in August 2024. I made a note to blog about it, headed off to CloudWorld and of course promptly forgot about it 😃 When you are tinkering with the cool new vector features in 23ai FREE, you might Read more

  • International Women’s Day

    International Women’s Day

    Given the history of the Information Technology industry, I’m sure it is unsurprising for you when I say that the majority of people I have worked with have been male. However… when I look back with a slightly more detailed focus: My computer science teacher at high school…. a woman The person that lectured my Read more

  • Sequences in PL/SQL

    Sequences in PL/SQL

    Time to put another myth to bed. Way back in Oracle 9 (I think) when referencing a sequence from PL/SQL the requirement of getting a sequence value using a SELECT statement was lifted. Thus instead of coding SELECT MYSEQUENCE.NEXTVAL INTO MYVARIABLE FROM DUAL you could simply write MYVARIABLE := MYSEQUENCE.NEXTVAL ; However, it is important Read more

  • The APEX data dictionary

    The APEX data dictionary

    Anyone who has used APEX will know that in addition to the Builder UI, there is a comprehensive data dictionary for APEX-prefixed views to expose all the metadata associated with APEX applications and workspaces.   SQL> select view_name 2 from dba_views 3 where owner = ‘APEX_240200’ 4 and view_name like ‘APEX%’ 5 order by 1; Read more