Blogs

Steven Feuerstein
Follow /21 Mar 2017 at 9:22pm / Oracle Blog

Tightening security in your PL/SQL code with 12c new features, part 1

Oracle Database 12c offers several enhancements to improve security in your PL/SQL program units. These features include: Code-based access control: fine-tune access to database objects inside program units by granting roles to program units , rather...
763 0 /
Steven Feuerstein
Follow /9 Mar 2017 at 3:51pm / Oracle Blog

Latest UI for Oracle Dev Gym

As some of you may know, we've been working on a new "skin" for plsqlchallenge.oracle.com , one that is more modern and responsive, and that makes it easier to quickly take a quiz. The Oracle Dev Gym is still in an "early adaptor"...
790 0 /
Steven Feuerstein
Follow /2 Mar 2017 at 2:22pm / Oracle Blog

Here's a great way to put an infinite loop into your code.

Isn't that something you always wanted to do? :-) No, it's not. And I did that yesterday in my dev environment (well, of course, such a thing could never make it to production!). It is an enormous pain. You press the Run button. The process doesn't...
511 0 /
Steven Feuerstein
Follow /15 Feb 2017 at 7:07pm / Oracle Blog

Enhanced Whitelist Management in 12.2

Way back in Oracle Database 12c Release 1, the PL/SQL team added whitelisting to the language. This means you can use the ACCESSIBLE BY clause to specify the "white list" of program units that are allowed to invoke another program unit (schema...
813 0 /
Steven Feuerstein
Follow /6 Feb 2017 at 1:30pm / Oracle Blog

Now NOT to Handle Exceptions

Oracle Database raises an exception when something goes wrong (examples: divide by zero, duplicate value on unique index, value too large to fit in variable, etc.). You can also raise exceptions when an application error occurs (examples: balance too...
988 0 /
Steven Feuerstein
Follow /31 Jan 2017 at 1:24pm / Oracle Blog

Find duplicate SQL statements with PL/Scope in 12.2

PL/Scope is a compiler tool that gathers information about identifiers (as of 11.1) and SQL statements (as of 12.2) in your PL/SQL code. You can do all sorts of amazing deep-dive analysis of your code with PL/Scope, answering questions like: Where is...
900 0 /
Steven Feuerstein
Follow /26 Jan 2017 at 11:43am / Oracle Blog

Players for Logic Annual Championship for 2016

The following players will be invited to participate in the Logic Annual Championship for 2016, currently scheduled to take place on 4 April. The number in parentheses after their names are the number of championships in which they have already participated...
606 0 /
Steven Feuerstein
Follow /24 Jan 2017 at 5:52pm / Oracle Blog

Confused by your error backtrace? Check the optimization level!

The DBMS_UTILITY.FORMAT_ERROR_BACKTRACE (and similar functionality in the UTL_CALL_STACK package) is a tremendously helpful function. It returns a formatted string that allows you to easily trace back to the line number on which an exception was raised...
640 0 /
Steven Feuerstein
Follow /18 Jan 2017 at 11:00pm / Oracle Blog

Players for PL/SQL Challenge Championship for 2016

The following players will be invited to participate in the PL/SQL Challenge Championship for 2016, currently scheduled to take place on 23 March at 14:00 UTC. The number in parentheses after their names are the number of championships in which they have...
657 0 /
Steven Feuerstein
Follow /18 Jan 2017 at 12:57pm / Oracle Blog

Emulating a finally clause in PL/SQL

PL/SQL does not support a finally clause, as many other languages do, including Java. Here's a description of the finally block from the Java SE doc: The finally block always executes when the try block exits. This ensures that the finally block is...
1017 0 /