This is an idea for an enhancement to the PL/SQL syntax.
If I have the following declaration:
I can do this:
INSERT INTO mytable VALUES in_record;
I can also do this:
UPDATE mytable SET ROW = in_record WHERE ...;
I can do this, as long as I list each and every column, in the right order:
INSERT INTO mytable VALUES in_record
RETURNING cola, colb, colc INTO out_record;
But I (more...)
Analytic functions are powerful and efficient, but sometimes they just aren’t enough. When you try analytics and they alone don’t solve the problem, it’s time to think about the MODEL clause – or upgrade to 12c and use MATCH_RECOGNIZE. All three can use partitions and ordering for simpler, more efficient processing. To illustrate, here’s a […]
Being a huge fan of Logger, the PL/SQL logging utility, I really wanted this be to included in the project that I'm currently working on. So I downloaded it (link at the bottom of this blog) and included it in our deployment scripts. Done.... at least I thought so, but of course this wasn't the case.
The regular install script for Logger looks something like the following (parts removed and table names are changed):
I was just in Amsterdam last week, and they have the smallest cars I have ever seen:
At first, it looks counter-intuitive, given that the average Dutchman seems to be several meters tall. But really small cars is actually a very obvious solution for a crowded city like Amsterdam with many canals, narrow roads and very limited parking. These mini-cars are actually parked on the pavement, probably avoiding the 5 Euro per hour parking fee (more...)
So far in the joins series we’ve looked at the effect removing joins (via denormalization) has on performance. We’ve seen that joins can cause primary key looks to do more work. Lowering the normalization level to remove these can negatively impact “search” style queries though. More importantly, we’ve seen the real cost of denormalizing to remove joins is when updating records, potentially leading to concurrency waits and application bugs.
So are joins always “good”?
Amazing but true – you can now enter a contest to win dinner with ODTUG President Monty Latiolais at ODTUG’s annual conference KScope14. This year KScope will be held in beautiful Seattle, Washington from June 22nd – 26th. Who knows what amazing dinner adventure will be in store for the winner! Get the details here: […]
Another annoying thing about unusable indexes
I’m surprised that I can’t remember coming across this before before.
I want to archive some data from a bunch of partitions.
Unfortunately, I can’t follow the virtuous circle of data lifecycling and partition the table in such a way that I can archive all the data from a particular partition (or subpartition) via exchange partition.
Without going into too much detail and skipping a bunch of other steps, (more...)
The company Nest, recently acquired by Google for the usual billions, makes smart thermostats and smoke detectors. Unfortunately, they did not think through the user experience of their Nest smoke and CO detector.
In principle, it’s great that you can turn off your smoke detector by waving your hand at it – like in “oh, cut it out, I just overcooked my microwave popcorn a bit.”
Less great is that if people experience an (more...)
Warning: this post is not technical and it is not about Oracle. Brendan Eich recently resigned under pressure from his job as CEO of Mozilla, the makers of Firefox. The reason given was a campaign contribution that Mr. Eich made in 2008. The State of California has the “referendum”: a proposition is submitted to a […]
Recently Martin described APEX Shortcuts
, a shared component that I don't often use - and probably even less now.
APEX wizards create them for the delete process in forms, but I thought I'd describe an example of how you might use one for your own needs.
The sole purpose I've used them is to generate HTML text from PL/SQL - often for links to appear near text items. For example, you could use them (more...)
In the previous article in the joins series we compared query performance between a third normal form schema and the same schema denormalized to second normal form. We then extended it the example so our denormalized schema was in just first normal form.
The normalized approach performed better overall. The differences were small though – generally just a few consistent gets and all the queries executed in under a second. As Jeff Atwood points out (more...)
There is a ‘rule’, I think it was created by Tom Kyte, stating: If you can do it in SQL, do it in SQL. I came across some code the other day that makes perfect sense to do then you are running an Oracle 10g (or earlier) instance. I rewrote the code to use only the EMP and DEPT tables to protect the suspects and maybe innocent.
The function defined is something like this:
Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.
It could happen that suddenly your Apex application that has been working for years starts asking for a username and password in order to access the XDB repository.
You hit the Cancel button and all you get is:
No html, no images, nothing is returned, your app is
SQL Developer 4 provides an interface that allows us to interact with Git repositories. In this post, I’m going to show how to clone a GitHub (A web based hosting service for software development projects that uses the Git revision control system) repository.
First you need to sign up for a GitHub account. You can skip this step if you already have one.
Your account will give you access to public repositories that could be cloned (more...)
Last month AuraPlayer created and distributed the “Evolution of Forms” survey in conjunction with Oracle product management and PITSS. The responses about how people use Forms now and their plans for the future gave us great insight into how Forms and its users are evolving. Based on the responses AuraPlayer wants to share some new content. AuraPlayer CEO, Mia Urman, and Oracle Forms Product Manager, Michael Ferrante, have collaborated to host this webinar at the end (more...)
Here are my predictions for 2014.
I realise that traditionally yearly predictions are made in the first month of the Gregorian calendar year... but I've been busy. So I'm going to make some predictions in my birthday month and see how things eventuate over the next 12 months. Many sites do this over the new year, and I do love the commentary
when one looks back over the previous 12 months. It's amazing, well not (more...)