Today a box arrived from Oracle Press. In it were a few copies of “Real-World SQL and PL/SQL” which I co-authored with Arup Nanda, Brendan Tierney, Heli Helskyaho and Alex Nuitjen. I know I only blogged about the book a couple of weeks back, how I became involved and the impact it had on my life for several months, but as I can now physically handle and read (more...)
I’ve just added a picture to the right side of this site. It is for a book about SQL and PL/SQL. If you look at the image of the front cover, at the bottom is a list of authors and, near the end, is my name. It’s all finished and at the printers, but it is not out yet – It should be published in the next few weeks.
The British part of me wants (more...)
ora:tokenizeto split a comma delimited string. Now I'll apply that technique to multiple rows, and show that it's faster than other methods.
column1 = column2 or (column1 is null and column2 is null)
An introduction to Oracle Database for beginners: What is a relational database management system?—Part V
An introduction to Oracle Database for beginners: What is a relational database management system?—Part I
An introduction to Oracle Database for beginners: What is a relational database management system?—Part II
An introduction to Oracle Database for beginners: What is a relational database management system?—Part IV
Some time ago I was asked to assist in fixing or at least finding the cause of a performance problem. The application ran fine until the Virtual Private Database (VPD) policy was applied. Oracle claims there should be near zero impact on your application when you implement VPD, then how is this possible?
First of all, the policy applied was a rather complex one. A complex query should be executed to determine if the current (more...)
Somethings it can be a challenge to know what is or isn't a reserved word. Yes we can check the Oracle documentation for the SQL reserved words and the PL/SQL reserved words. There are other references and (more...)
A question popped up, which I thought was interesting. How can you create a
DB_LINK in Oracle without the DBA changing the
tnsnames.ora file? It’s actually quite easy, especially if the DBA sets the TNS address name the same as the instance’s service name or in older databases SID value.
- Do the following with the
It should return this when the server’s
mohawkand domain name is
Did you read the title of this blog post! Read it again.
Yes, Yes, I know what you are saying, "SQL cannot produce graphics or charts and particularly not ggplot2 graphics".
You are correct to a certain extent. SQL is rubbish a creating graphics (and I'm being polite).
But with Oracle R Enterprise you can now produce graphics on your data using the embedded R execution feature of Oracle R Enterprise using SQL. In this (more...)
What three things do you think every developer must know about #SQL ?— Chris Saxon (@chrisrsaxon) July 5, 2016
Reply and share yours!
My immediate thought regarded features I'd be disappointed to live without. Looking at some other responses I realise that the answer matches Tom Kyte's creed: "it depends".
Here is a collection of responses that I think sums(sql) really well, (more...)
Use of ANSI SQL is a personal thing.
Historically I have not been a fan apart from where it makes things easier/possible.
This reticence was mainly due to optimizer bugs and limitations in the earlier days.
Recently I have been using it much more because I find that the developers I interact with prefer it / understand it better.
You might/should be aware that Oracle will rewrite ANSI SQL to an Oracle syntax representation, this (more...)
Weekend #SQL poll: when mapping binds/columns that could contain nulls to non-nulls do you use:— SQL Daily (@sqldaily) July 1, 2016
Why? Because I think coalesce is a good idea and the modern equivalent of NVL.
I follow @SQLDaily for useful tips. Oracle SQL evangelist Chris Saxon runs the feed.
When I wrote the previous post, about updatable views, I noticed an interesting issue.
The documentation says:
If a view is defined by a query that contains SET or DISTINCT operators, a GROUP BY clause, or a group function, then rows cannot be inserted into, updated in, or deleted from the base tables using the view.
Let’s create a view with a GROUP BY clause and a group function:
ORA$BASE> create table t (more...)