Sign in

Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺

@kibeha.dk
588 followers 238 following 611 posts

Danish geek 🤓 Oracle SQL & PL/SQL Developer ♠ ACE Director 4️⃣2️⃣ #SYM42 👨‍🍳 Likes to cook 🚀 Reads sci-fi 🍺 Beer Enthusiast 🏢 Cegal Danmark A/S 🧑‍💻 kibeha.dk

PostsRepliesMedia
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 30/09/2026
Personal vs Functional 💯✅
021
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 25/09/2026
www.adaptivecapacitylabs.com/2026/08/24/t... And what's more, those human abilities come from experience. If you say "we'll only replace the juniors and keep the seniors", shortly you'll have no experienced seniors. (H/T @connormcd.bsky.social for the link)
030
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 25/09/2026
Good point that I hadn't really thought of, but definitely an advantage if the language (like APEXlang) provides less room for hallucinations 👍 (PS. Careful if you like me have to google DSL, there are other definitions beside Domain Specific Language and Digital Subscriber Line 😉)
100
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 21/09/2026
Whether or not you can follow Mike's patching recommendations, at the bare minimum you MUST have a current version of the database. It's not up for debate, folks!
010
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 14/09/2026
In October I'll do two presentations at #HrOUG2026. Join me on a lovely island, where a bunch of top-notch speakers provide excellent content. Check out agenda & tickets at: 2026.hroug.hr/eng Thanks HrOUG for organizing an awesome event. Thanks #OracleACE program for #OracleCommunity support.
061
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 05/09/2026
#QotD by Kerry Osborne at #POUG2026 : If you want to be the smartest in the room, spend 90% of your time listening!
071
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 05/09/2026
040
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 02/09/2026
Spot on 👍 #SQL
010
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 01/09/2026
The #orclAPEX Nordic Tour 2026 has reached Danish Oracle User Group - DOUG in Copenhagen. Kicked off by Matt Nolan’s keynote on AI and more in APEX 26.1
060
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 19/08/2026
1 (one!) left! #POUG2026
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 19/08/2026
Now only 2 (two!) of the extra tickets left! It's really last last last last chance to get to #POUG2026 ! Do not wait until after your lunch break - get that ticket now!
011
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 12/08/2026
If you already have your ticket for #POUG2026, you can look forward to a fantastic agenda and fantastic event and fantastic fun: poug.org/edycja/poug2... If you haven't got a ticket yet, sorry, it's too late. Better be faster next year!
020
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 11/08/2026
The COMMIT is actually not a COMMIT, it is just a label because of missing semicolon after END LOOP. And no, the compiler does not complain. It is documented that the compiler does NOT check whether the label used in END LOOP matches the actual label of the loop (in this case an unlabeled loop.)
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 11/08/2026
#SpotTheBug 😁
200
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 01/08/2026
Thank you @oracleace.bsky.social for being appreciative of us #OracleACE ♠️ folks for another year 🙏
161
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 28/07/2026
Hmm... didn't know that queries were written in PL/SQL, but Oracle docs says so, so it must be true 😇
001
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 14/07/2026
"Dataveloper"... I resemble that 😇 source: jorriss.com/about/
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 13/07/2026
Obvious, right? 😇 (Source: freefall.purrsia.com)
Freefall comic. Transcript:

Sam: Telling the computer what I want to have done. It makes my job easy. I don't know how it works. I don't know what I'm actually doing.
Sam: I've always assumed the other guys know what they're doing. If they're using A.I. as well... this could be a problem.
Sam: It makes it too obvious that almost nobody knows what they're actually doing. That destroys one of the illusions societies are built on.
031
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 24/06/2026
Yup. You’re *not* helping yourself by letting an LLM write your abstract submission for a conference! Read the blog post - the advice at the end may be a way to use an LLM that can actually be useful to you 👍 #OracleACE #OracleUGs
010
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 10/06/2026
021
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 03/06/2026
Another fiscal year gone by - a new one begins. Happily I once again have qualified to be awarded Oracle ACE Director for the new year by #OracleACE program. It's great to be part of the community and meet a lot of great people - live and online. Thanks to @oracleace.bsky.social for having me 🙏
1111
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 01/06/2026
Leaving Slovenia after our first visit, @dbandycapp.bsky.social and I. *Very* positive experience, both the country and the #MakeIT2026 conference. Hoping to be back one day 😁
061
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 29/05/2026
Picture of @zorantica.bsky.social ‘s assistant that helped him in his “I know what You did last Summer… and Winter… and Autumn… and Spring” session on auditing at #MakeIT2026 🐈
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 27/05/2026
Registered at #SIOUG #MakeIT2026 Conference early morning buzz is starting. We’re gonna have so much fun here, @dbandycapp.bsky.social and I 😁
DBAndyCapp and myself at the registration desk of MakeIT 2026 conference
190
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 26/05/2026
My first visit to Slovenia, I'm excited to be a speaker at SIOUG MakeIT 2026! I'm on twice tomorrow: - Visualizing PL/SQL with PL/Scope, 26ai Property Graph and APEX Graph Plug-in - 3-hour Hands-On-Lab on analytic functions. Check it out: makeit.si #MakeIT2026 #OracleDB #OracleAPEX #OracleACE
094
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 18/05/2026
Is @connormcd.bsky.social really comfortable with a vibe coded shirt? How about a vibe coded database design? We’re about to find out at #apexconn26
0143
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 17/05/2026
The @oracleace.bsky.social #OracleACE Adventure is starting at #apexconn26
071
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 17/05/2026
Very organized in Germany. Even male discharge has to be sorted, so of course I used 🍺 😇
031
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 11/05/2026
So who's taking over after us when history repeats? 😇
110
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 30/04/2026
#POUG2026, here I come \o/ So awesome that @pougorg.bsky.social accepted my session "Shape-Changing SQL" and put it on the agenda: poug.org/edycja/poug2... See you in Krakow in September. Be sure to get your tickets while they last: poug2026.konfeo.com/en/groups </happydance>
070
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 30/04/2026
💯
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 22/04/2026
💯 percent truth! You >must< learn #SQL
021
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 13/04/2026
Well, half fixed 😄
100
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 10/04/2026
Strange, a couple weeks ago a colleague tried in a 19.29 to use this backported 'system:' wallet path and got "ORA-29248: an unrecognized WRL was used to open a wallet". Have you gotten it to work in 19? @martindba.bsky.social : What could cause the ORA-29248?
230
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 06/04/2026
010
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 25/03/2026
Welcome our new overlords 🤔
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 24/03/2026
030
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 24/03/2026
110
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 06/03/2026
These work fine too. I'd hazard the guess that they can be checked and evaluated more efficiently. Also it has the advantage of error messages specifying which assertion is violated.
110
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 06/03/2026
Actually, this one works in a single assertion, turning it into NOT EXISTS with AND instead of EXISTS with OR. But one assertion per parent table might be able to evaluate the checks faster and check only when needed. Whether that'd outweigh overhead of many assertions - who knows 😉
create assertion Notes_RefRecId_MultiFK check (
   not exists (
      select null
      from Notes n
      where not exists (
         select null
         from DebTab d
         where n.RefFileId = 11
         and d.RecId = n.RefRecId
      ) and not exists (
         select null
         from CreTab c
         where n.RefFileId = 15
         and c.RecId = n.RefRecId
      ) and not exists (
         select null
         from StoTab s
         where n.RefFileId = 27
         and s.RecId = n.RefRecId
      )
   )
);
100
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 06/03/2026
So I got my conditional/subset foreign key working. But multi-parent foreign key I need to rethink how to phrase. So far my attempts have raised: ORA-08663: Set operators are not supported. ORA-08697: SYS owned tables are not supported. ORA-08695: A subquery within an OR condition is not supported.
create assertion Notes_RefRecId_MultiFK check (
   all (
      select n.RefFileId, n.RefRecId
      from Notes n
   ) nref
   satisfy (
      exists (
         select null
         from DebTab d
         where nref.RefFileId = 11
         and d.RecId = nref.RefRecId
         UNION ALL
         select null
         from CreTab c
         where nref.RefFileId = 15
         and c.RecId = nref.RefRecId
         UNION ALL
         select null
         from StoTab s
         where nref.RefFileId = 27
         and s.RecId = nref.RefRecId
      )
   )
);
create assertion Notes_RefRecId_MultiFK check (
   all (
      select n.RefFileId, n.RefRecId
      from Notes n
   ) nref
   satisfy (
      exists (
         select null
         where exists (
            select null
            from DebTab d
            where nref.RefFileId = 11
            and d.RecId = nref.RefRecId
         ) OR exists (
            select null
            from CreTab c
            where nref.RefFileId = 15
            and c.RecId = nref.RefRecId
         ) OR exists (
            select null
            from StoTab s
            where nref.RefFileId = 27
            and s.RecId = nref.RefRecId
         )
      )
   )
);create assertion Notes_RefRecId_MultiFK check (
   all (
      select n.RefFileId, n.RefRecId
      from Notes n
   ) nref
   satisfy (
      exists (
         select null
         from dict d
         where d.FileId = nref.RefFileId
         and d.ColId = 0
         and (
            (
               nref.RefFileId = 11
               and exists (
                  select null
                  from DebTab d
                  where d.RecId = nref.RefRecId
               ) 
            ) or (
               nref.RefFileId = 15
               and exists (
                  select null
                  from CreTab c
                  where c.RecId = nref.RefRecId
               ) 
            ) or (
               nref.RefFileId = 27
               and exists (
                  select null
                  from StoTab s
                  where s.RecId = nref.RefRecId
               ) 
            )
         )
      )
   )
);
100
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 06/03/2026
I tried and got error: ORA-08689: CREATE ASSERTION failed ORA-08673: Equijoin "D"."FILEID"="N"."REFFILEID" found does not meet the criteria to do a FAST validation.
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 04/03/2026
TIL in 23/26ai with extended strings, you do NOT get "ORA-01450: maximum key length (6398) exceeded" at *create* index on VARCHAR2(4000 CHAR) - it succeeds => dba_ind_columns.column_length=16000 At *insert* you can get ORA-01450 ! blogs.oracle.com/sql/how-to-f... Careful or #BugWaitingToHappen
150
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 27/02/2026
Yup. (I've always wondered why the NLS formats did not include something that matched the "Western Traditional" week numbering - WW doesn't, and I simply haven't found *any* place in the world using the rule that WW implements.)
010
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 27/02/2026
"Don't go nuts" Sound advice any day.
020
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 26/02/2026
Why I tend to write loooooooong pieces of text instead - but no use, people still misinterpret 😇
000
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 03/02/2026
🎉I'm on the agenda of #apexconn26 🎉 my.doag.org/events/apex-... See you in May 👍 #orclapex #oracleace
Banner showing I'm a Speaker at APEX Connect May 18-20 2026 at Heide Park Soltau
080
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 28/01/2026
This deserves a second quote post for #orclAPEX developers. I know I'm gonna have to revisit code...
020
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 24/12/2025
Glædelig Jul 🎄
030
Kim Berg Hansen: SQL ♠ 🤓 👨‍🍳 🍺 @kibeha.dk · 24/12/2025
Looking for speakers for your meetup or conference? Check out @sessionize.com Speakers Directory: sessionize.com/speakers-dir... As an example, here you can see all the sessions I can offer: sessionize.com/kibeha/ (Chosen as Speaker of the Day for Christmas Eve 🎅🎄😄)
020