ROWID: "this dreadful identifier"

Uncategorized
| Mar 7, 2012
Today I'm taking a look at the core packages of the PL/SQL language, namely the STANDARD and DBMS_STANDARD packages in the SYS schema. These packages contain a lot of the language features we use every day in PL/SQL programming.

These two packages are special in that you do not need to qualify the name of functions, procedures and constants in these packages with the package name. For example, SYSDATE and USER and DECODE and so on are declared in the STANDARD package, but you can use it without having to specify STANDARD.SYSDATE or STANDARD.USER or STANDARD.DECODE (which (more...)

How to transform a RefCursor query resultset into HTML table in SQL

The following SQL pattern can be used to tranform a RefCursor query resultset into data in HTML table format by utilizing the XSLT functionality. The query can handle NULL in the data columns. The SQL input string should be based on the following format:

SELECT Col AS name_x, Function() AS (more...)

How to convert a RefCursor query resultset to CSV format in SQL

The following SQL pattern can be used to convert a RefCursor query result set into a CSV format. This query can handle NULL in the data columns. The SQL input string should be based on the following format:

SELECT Col AS name_x, Function() AS name_y, Analytical_function( ) AS name_z FROM (more...)

How to transform a CSV file into HTML table in SQL

The following SQL pattern can be used to tranform the CSV file into a HTML table by utilizing the XQUERY functionality.


create or replace directory tmp as '/tmp';

create a word.csv file.

C:\tmp>more word.csv

ID,FIRSTNAME,MIDDLENAME,LASTNAME
1,Frank,,Zhou
2,Peter,B,Lee
3,John,C,Adam
4,Dave,,Washington


CREATE TABLE CSV_FILE (csv_str VARCHAR2(3000))
     ORGANIZATION EXTERNAL
     (
       TYPE  (more...)

Some words on result cache dependencies tracking in 11.2.

Uncategorized
| Feb 7, 2012

First, every result of a function or query for which result cache is enabled has its own dependencies.
Second, all dependencies are tracked while the function/query is being executed.
Third,  the PL/SQL function result cache and the SQL result cache internals are the same.
Fourth, if you have a function within a query, for which result cache hint is used, the dependencies for the query result will include the dependencies on the objects accessed by the function.

This has several consequences.

1. One function may have different dependencies for different input arguments. Let’s look at the following example:

--drop table  (more...)

Oracle Magazine January-February 2012 online versions

Uncategorized
| Feb 6, 2012
Oracle Magazine January-February 2012:
Flash version
HTML version



TIOBE Programming Community Index for February 2012

Uncategorized
| Feb 6, 2012
PL/SQL is on the 17th place TIOBE Index (February 2012).
It's was 32nd in February last year (February 2011)!
In 2008 and 2007 in February it was in 13th position in the index.

SQL Navigator 6.6 released

Uncategorized
| Dec 15, 2011
Quest Software released the 6.6 version of SQL Navigator. Mainly it corrects some bugs.
The most usefull new feature is in the history search (where you can search the runned scripts/commands for an expression) to filter the commands by type.


Check the Release Notes and the Known Issues List.

TIOBE Programming Community Index for December 2011

Uncategorized
| Dec 15, 2011
PL/SQL is on the 14th place TIOBE Index (december 2011).
It's was 23st in November last year.
It was in 13th in 2008 and 2007 in the same month!

Oracle Magazine November-December 2011 online versions

Uncategorized
| Dec 7, 2011
Oracle Magazine November-December 2011:
Flash version
HTML version

TIOBE Programming Community Index for November 2011

Uncategorized
| Nov 19, 2011
PL/SQL jumped to the 12nd placeTIOBE Index (november 2011).
It's was 20st in November last year.

Logger Project Moved Temporarilly

Uncategorized
| Nov 9, 2011
The site samplecode.oracle.com was decommissioned recently. I was hosting a number of projects there including “Logger”, my PL/SQL instrumentation package. Until I find a new home, here’s a temporary link to the latest release (1.4) or if you just want to view the readme use this link. I’ll update this post when I decide on [...]

Oracle Database 11g Release 2 Express Edition Available

Uncategorized
| Sep 5, 2011
Oracle Database 11g Release 2 Express Edition (Oracle Database XE) final version is available. It's "an entry-level, small-footprint database based on the Oracle Database 11g Release 2 code base. It's free to develop, deploy, and distribute; fast to download; and simple to administer." DownloadDocumentation Do not forget to check the Open Bugs and Known Issues section.

Oracle Magazine September – October 2011

Uncategorized
| Sep 5, 2011
HTML version
Flash version

TIOBE Programming Community Index for August 2011

Uncategorized
| Aug 30, 2011
PL/SQL is again in the 22nd place TIOBE Index (August 2011).
It's was in 21st last month.

QuestTV

Uncategorized
| Jul 19, 2011
Quest Software site has recently make available a new section in its website called QuestTV with several videos about its services and products. Some of these videos are also available in Quest Software Channel in YouTube.

Most interesting videos for PL/SQL developers:

Using Toad for Oracle with Oracle Instant Client (this series is helpful even for people that do not use TOAD but want to install and configure Oracle Instant Client.
  • Using SQL Tracker available with TOAD or SQL Navigator
Steven Feuerstein (renowned PL/SQL (more...)

TIOBE Programming Community Index for July 2011

Uncategorized
| Jul 17, 2011
PL/SQL is again in the 21st place TIOBE Index (July 2011).
It's was in 22nd last month.

Interactive SVG example on iPad (iPhone) via Oracle PL/SQL Server Pages

A couple of weeks ago we talked about Flash on Android via Oracle APEX. Today let’s check the competitor’s offer. Unfortunately Apple products don’t support Flash. The good news however is that they do support SVG, as do most web browsers (IE7/8 is pluginable and IE9 is going to support it properly). I first came [...]

Calling a database procedure with table input and output parameters from Java

In my previous blog post I explained how to call a database procedure using only a few lines of Java code. I already hinted that it is possible to use custom types and tables, etc. Let's see an example of that in more detail.

Database artifacts

Suppose we have the (more...)

Calling an Oracle database procedure from Java with only ONE line of code

About a year ago I was working on an ADF application for one of our clients. One of the problems they faced was that they needed to call a lot of database procedures. It is not very hard to call a database procedure if you are familiar with the JDBC (more...)