Development
ALL, ANY and SOME Comparison Conditions in SQL -
A quick look at some comparison conditions you may not be used to seeing in SQL against an Oracle database.
Analytic Functions -
An introduction to analytic functions in Oracle.
ANYDATA Type -
This article presents an overview of the ANYDATA type.
APEX_DATA_PARSER : Convert simple CSV, JSON, XML and XLSX data as rows and columns. -
The APEX_DATA_PARSER package allows you to easily convert simple CSV, JSON, XML and XLSX formatted data into rows and columns from SQL.
APEX_WEB_SERVICE : Consuming SOAP and REST Web Services -
Use the APEX_WEB_SERVICE package to simplify consuming SOAP and REST web services from PL/SQL.
APPEND Hint -
Use the APPEND hint to improve the performance of load operations.
Autonomous Transactions -
A brief overview of autonomous transactions.
Change Your Own Password in an Oracle Database -
This article describes how to change the password for your own user in an Oracle database.
Check the Contents of Ref Cursors -
This article demonstrates a few simple ways to display the contents of ref cursors.
Database Triggers Overview -
An introduction to database triggers in Oracle.
DBMS_PIPE : For Inter-Session Communication -
This article presents a brief description of the package, explaining how it can be used
for non-secure inter-session mesaging.
DBMS_RANDOM : Generating Random Data (Numbers, Strings and Dates) in Oracle -
A description of how to generate random numbers, string and dates in Oracle.
DBMS_SESSION : Managing Sessions From a Connection Pool in Oracle Databases -
A guide to using the DBMS_SESSION package to manage sessions that form part of a connection pool.
Decoupling to Improve Performance -
Learn how to decouple processing to give the impression of improved performance.
Download Files Using PL/SQL and a Gateway (ORDS, mod_plsql, EPG) -
This article gives some examples of the PL/SQL needed to download files using a PL/SQL gateway, such as ORDS, mod_plsql or the embedded PL/SQL gateway (EPG).
Dynamic IN-Lists -
This article presents a number of methods for parameterizing the IN-list of a query.
Efficient Function Calls From SQL -
This article presents a number of solutions for making calls to PL/SQL functions from SQL more efficient.
Efficient SQL Statements -
A brief non-version specific guide to writing efficient SQL statements.
Email From Oracle PL/SQL (UTL_SMTP) -
Email from PL/SQL using UTL_SMTP rather than using external procedures or Java.
FIRST_VALUE and LAST_VALUE Analytic Functions -
Simple examples of how to use these analytic functions.
FTP From PL/SQL -
A description of two methods for triggering FTP jobs directly from PL/SQL.
Hierarchical Queries in Oracle -
Easily query hierarchical data in Oracle databases using SQL.
How do I learn to tune SQL? -
A brief overview of the topic of SQL tuning for beginners.
HTML with Embedded Images from PL/SQL -
Use PL/SQL to create HTML with embedded images.
Implicit vs. Explicit Cursors in Oracle PL/SQL -
A comparison of the relative performance of implicit and explicit cursors in Oracle PL/SQL.
Instrumenting Your PL/SQL Code -
No matter who you are or how cool you think you are at programming, you can never know exactly what is going on in your code unless you instrument it.
Introduction to PL/SQL -
A brief overview of some of the important points you should consider when first trying to learn PL/SQL.
Join Elimination -
This article describes how join elimination can improve performance of queries by removing tables from the plan.
LAG and LEAD Analytic Functions -
Simple examples of how to use these analytic functions.
List Files in a Directory From PL/SQL and SQL : Comparison of Methods -
This article compares the methods available to list files in a directory on the database server.
List Files in a Directory From PL/SQL and SQL : External Table -
This article shows how to list files in a directory on the database server using an external table.
List Files in a Directory From PL/SQL and SQL : Java -
This article shows how to list files in a directory on the database server using a Java in the database.
List Files in a Directory From PL/SQL and SQL : DBMS_BACKUP_RESTORE -
This article shows how to list files in a directory on the database server using the DBMS_BACKUP_RESTORE package.
List Files in a Directory From PL/SQL and SQL : DBMS_SCHEDULER -
This article shows how to list files in a directory on the database server using the DBMS_SCHEDULER package.
Literals, Substitution Variables and Bind Variables -
The article compares the affect of using literals, substitution variables and bind variables on memory and CPU usage.
Logic/Branch Ordering in PL/SQL -
This article demonstrates the affect of branch ordering on the performance of CASE and ELSIF statements.
Managing Database Links -
Some quick guidelines to help you manage database links.
NOCOPY Hint to Improve Performance of OUT and IN OUT Parameters in PL/SQL Code -
This article discusses the benefits of using the NOCOPY hint for passing large or complex OUT and IN OUT parameters in PL/SQL.
NULL-Related Functions (NVL, DECODE, NVL2, COALESCE, NULLIF, LNNVL, NANVL, SYS_OP_MAP_NONNULL) -
A summary of the functions available for handling NULL values.
Object Views and Nested Tables -
Use object views to present relational data as an object-relational model.
One True Lookup Table (OTLT) -
A description of a common design anti-pattern, where lookup tables are combined into a single table.
Oracle Certification : Frequently Asked Questions (OCA, OCP, OCE, OCM) -
My personal opinions when answering questions about Oracle Certification.
Oracle Dates, Timestamps and Intervals -
An overview of the usage of dates, timestamps and intervals in Oracle databases.
Oracle Sequences -
This article demonstrates the common ways sequences can be used to generate synthetic or surrogate keys.
Overlapping Date Ranges -
This article presents simple methods to test for overlapping date ranges.
Performance of Numeric Data Types in PL/SQL -
This article demonstrates the relative performance of the numeric data types in PL/SQL.
PL/SQL : Stop Making the Same Performance Mistakes -
This article describes the common PL/SQL performance mistakes I see people making time and time again.
PL/SQL Vs. Oracle JVM: Speed Comparison for Mathematical Operations -
This article does a side-by-side speed comparison of PL/SQL and the Oracle JVM for some basic mathematical operations.
Populating Master-Detail Foreign Key Values Using Sequences -
This article presents some safe methods for populating master-detail foreign key columns when using sequences.
RANK, DENSE_RANK, FIRST and LAST Analytic Functions -
Simple examples of how to use these analytic functions.
Regular Expression Support in Oracle (REGEXP_COUNT, REGEXP_INSTR, REGEXP_REPLACE, REGEXP_SUBSTR, REGEXP_LIKE) -
Using regular expressions to solve some questions I've been asked over the years.
Retrieving HTML and Binaries into Tables Over HTTP -
This article gives two brief examples of how HTML pages and Binaries, such as images or documents, can be downloaded
over HTTP and placed directly into tables.
ROLLUP, CUBE, GROUPING Functions and GROUPING SETS -
An overview of some functionality available for aggregation in data warehouses.
ROWIDs for PL/SQL Performance -
This article demonstrates how using ROWIDs in transactions can improve performance.
Short-Circuit Evaluation in PL/SQL -
This article describes how short-circuit evaluation can be used to improve the performance of some boolean expressions.
SQL for Beginners (Part 1) : The SELECT List -
In this article we take a look at the type of things you are likely to see in the SELECT list of queries.
SQL for Beginners (Part 2) : The FROM Clause -
In this article we take a look at the type of things you are likely to see in the FROM clause of queries.
SQL for Beginners (Part 3) : The WHERE Clause -
In this article we take a look at the type of things you are likely to see in the WHERE clause of queries.
SQL for Beginners (Part 4) : The ORDER BY Clause -
In this article we take a look at how you can influence the order of the data that is returned by queries.
SQL for Beginners (Part 5) : Joins -
In this article we take a look at some of the common joins, both ANSI and non-ANSI, available in SQL.
SQL for Beginners (Part 6) : Set Operators -
In this article we take a look at the SQL set operators available in Oracle.
SQL for Beginners (Part 7) : The GROUP BY Clause and HAVING Clause -
In this article we take a look at the GROUP BY clause and HAVING clause in SQL.
SQL for Beginners (Part 8) : The INSERT Statement -
In this article we take a look at some of the variations on the INSERT statement.
SQL for Beginners (Part 9) : The UPDATE Statement -
In this article we take a look at some of the variations on the UPDATE statement.
SQL for Beginners (Part 10) : The DELETE and TRUNCATE TABLE Statements -
In this article we take a look at the DELETE and TRUNCATE TABLE statements.
SQL/XML (SQLX) : Generating XML using SQL -
Oracle9i Release 2 includes functionality to support the emerging SQL/XML standard to simplify XML generation from SQL queries.
String Aggregation Techniques -
Several methods of combining multiple rows of data into a single row using aggregate functions.
Top-N Queries -
Top-N queries provide a method for limiting the number of rows returned from ordered sets of data.
Updates Based on Queries -
This article describes how a table can be updated using data from another table.
Using Ref Cursors To Return Recordsets -
Return recordsets from Oracle stored procedures.
UTL_HTTP and SSL (HTTPS) using Oracle Wallets -
This article describes how to use the UTL_HTTP package to interact with resources secured by SSL (HTTPS).
utPLSQL Installation and Upgrade -
This article demonstrates the installation and upgrade of the utPLSQL unit test framework for PL/SQL.
Web Services and the Oracle Database -
An overview of the functionality available in the Oracle database for consuming and publishing web services.
Web Scripting for Oracle (PHP, Perl, JSP, ASP and ASP.NET) -
This article presents the basic syntax for several popular web scripting languages that connect to Oracle databases.
WITH Clause : Subquery Factoring in Oracle -
Use the WITH clause in Oracle to reduce repetition and simplify complex SQL statements.
XML-Over-HTTP (REST Web Services) From PL/SQL -
XML-over-HTTP was the precursor to web services allowing easy access to XML via HTTP GETs and POSTs.
XMLTABLE : Convert XML Data into Rows and Columns using SQL -
Use the XMLTABLE operator to project columns on to XML data, allowing you to query it directly from SQL.