Back on the film quizzes this time with a mathematical twist for the clues:
where power(e, i * pi) + 1 = 0;
where length = (1 + sqrt(5)) / 2;
where height = width
and width = depth;
where (x * x) + (y * y) (more...)
email@example.com > select banner from v$version;
Oracle Database 12c Enterprise Edition Release 126.96.36.199.0 - 64bit Production
PL/SQL Release 188.8.131.52.0 - Production
CORE 184.108.40.206.0 Production
TNS for Linux: Version 220.127.116.11.0 - Production
NLSRTL Version 18.104.22.168.0 - Production
firstname.lastname@example.org > select value from nls_database_parameters where parameter='NLS_CHARACTERSET';
email@example.com > ! (more...)
There’s no thrill in easy sailing when skies are clear and blue, there’s no joy in merely doing things which any one can do. But there is some satisfaction that is might sweet to take, when you reach a destination that you thought you’d never make. - Unkown Filed under: Quotes, […]
Chris Saxon posted a nice quiz regarding a pitfall when creating tables with VARCHAR2-columns: when you are not explicit in specifying the length-semantics ( CHAR or BYTE ), a session parameter, which may vary, is used.
This is a short follow-up of his story, which shows more pitfalls when creating views and selecting from those.
We end up in a structure which can – by definition – contain only 1 byte, but actually shows containing (more...)
I decided to try using a wrapper procedure to isolate calls to APEX_UTIL.set_session_state in an autonomous transaction. I’m currently using it in a project and seeing how it goes in terms of performance.
DISCLAIMER: Don’t just throw this into your mission-critical system without at least testing it thoroughly first.
Since I had Morten Braten’s Alexandria library handy, I simply modified his APEX_UTIL_PKG. If you’re not using this library you can create your own wrapper (more...)
When should you commit or rollback a transaction? As late as possible, I would have thought, based on most of the advice in the Oracle world. You certainly want this to be predictable and consistent, at least.
Unfortunately, if you use
APEX_UTIL.set_session_state in your PL/SQL process, the result is not so predictable.
Thanks to Martin D’Souza who alerted me to this. I love learning new things, but occasionally you get a bad surprise like (more...)
Ein kleiner Ausflug in die Welt der nicht ganz so hohen Mathematik: wie berechne ich die nächst höhere Zehnerpotenz zu einem gegebenen Wert mit Datenbankmitteln? Mit fiel dazu nichts Besseres ein als das Aufrunden des Ergebnisses der log-Funktion zum gegebenen Wert und die Verwendung dieses aufgerundeten Ergebnisses als Exponent zur Basis 10. Hier die Varianten für postgres und Oracle:
dbadmin=# select 10 ^ ceiling(log(4711)) round_up;
SQL> select power(10, (more...)
On Thursday, February 27th, I will be hosting part two of the “Mobile for Forms” ODTUG Webinar Series! Last week we did the Forms to APEX Mobile session and it was a great success. If you missed it, check out yesterday’s post. Definitely worth checking out.
For this next webinar, we’ll be exploring strategies for mobilizing legacy applications with ADF Mobile. We will be discussing the challenges of going mobile with legacy applications and give (more...)
The February issue of the ADF Mastery newsletter just went out. If you are not on the list, you can sign up here.
This month, I’m covering the following topics:
- Which version should I use?
- A learning plan for the ADF basics
- Best practice for good user experience
The first topic is often a matter of some debate. I recommend using JDeveloper 22.214.171.124 for now – this is the stable version that (more...)
As covered in my new Oracle Database 12c PL/SQL Programming book (publisher’s satisfied), you can evolve object types. That means you can change a base object type and the change cascades through dependents. Somebody asked how to remove an object type chain without appending the
It’s quite easy if you understand writing a recursive function in PL/SQL, as done here:
The PL/SQL Debugger works pretty much out of the box when used with a previous Oracle version. These are the things we needed in place before we could start debugging PL/SQL:
- A grant of the DEBUG CONNECT SESSION privilege.
- EXECUTE privilege on DBMS_DEBUG_JDWP.
- EXECUTE privilege on the stored procedure you want to debug.
- Make sure the stored procedure is “Compiled for Debug”.
Jeff Smith talks about it in this post.
But what happens when you (more...)
As part of our effort to mobilize Oracle Forms customers, last week we did a new spin on things by presenting running Oracle Forms from APEX mobile. The webinar, presented with the APEX rockstar Roel Hartman, was a huge success! We had over a 184 people register and were pleased to see such positive responses from viewers.
APEX Evangelist and Oracle ACE Director, Roel Hartman shared his experience developing a modernized APEX application on an (more...)
If you have ever rented a car in the US, you will be familiar with the little LCD device on the counter where you sign your rental contract with a plastic stylus. On the same device, you’re also obliged to acknowledge other things. Since the text is written in 6-point font on a low-quality LCD device, it is for all practical purposes illegible. I assume I’m agreeing to things like that it’s not the rental (more...)
Two tables that look the same, but for some reason I can insert my pounds (£) into the first one, but not the second:
create table i_can_insert (
insert into i_can_insert (into_this)
create table but_i_cant_insert (
insert into but_i_cant_insert (into_this)
ORA-12899: value too large for column
Why? Put your answers in the comments!
As I review with my students, a stored function works like a standalone program, while a stored procedure runs in the scope of another program unit. For example, you can compare the result of a function as an expression in an
IF statement, like:
IF add_numbers(1,3) > 3 THEN
You can’t call procedures inside an
IF statement, but you can call the procedure and use a (more...)
My final followup of Jonathan Lewis’ Differences post looks at the DBMS_COMPARISON package. I have my doubts about this package, which is why I added the question mark in the title. DBMS_COMPARISON was introduced in Oracle 11.1. There appears to be some confusion about whether it requires an extra licence. According to the Oracle team […]
I just noticed that prices for Oracle Database running on Windows Azure have now been published
The prices for the virtual machines with the Oracle license included run from about USD 820 per month for Oracle Standard Edition (SE) running on 2 cores, to a whopping USD 9300 per month for Oracle Enterprise Edition (EE) running on 8 cores. These prices are for Oracle software only and do not include the cost of the VM, (more...)