RSSAmplifier

Blog

ORA-00001: Unique constraint violated

Random ramblings and raves of relational relevance!

ora-00001.blogspot.comRSS feed ↗25 posts

Latest posts

Joel Kallman Day 2025: Making sure Oracle XE does not run out of space #JoelKallmanDay

I'm writing a short blog post today as part of the Joel Kallman Day 2025 . Oracle Database Express Edition (XE) is the free edition of the Oracle Database. And some time ago, Oracle started calling it the "Free" database instead of the "XE" database, but it's basically the same thing. It's free to develop with, and free to deploy to production. It has limitations, and there is no support except…

Joel Kallman Day 2023: APEX Automated Backups #joelkallmanday

I'm writing a short blog post today as part of the Joel Kallman Day 2023 . Some time ago (I think it was around the APEX v20.1 release), APEX got a new built-in backup feature that takes an automatic backup of your applications each day. Only applications that have changed will be backed up, and a maximum of 30 days of backups are kept (this is configurable, it can be disabled, or you can set a…

Restrict access to APEX Builder based on client IP when using Apache and ORDS

When running Oracle Application Express (APEX) in production, the best practice is to deploy the "Runtime-Only" environment, instead of a "Full Development" environment: From the docs : As with any software development life cycle, Oracle strongly recommends that you have different environments for development, testing/QA, and production. For testing and production instances, Oracle APEX supports…

Dynamic Content Region in Oracle APEX 22.2

There's a new version of Oracle Application Express (APEX) in town, and one of the new "features" is a new region type called "Dynamic Content" that allows you to output content using PL/SQL. What happened to the existing "PL/SQL Dynamic Content" region type that does exactly this, you might ask? It's still there, but now it's marked as "Legacy" and requires an extra mouse click just to be able to…

Joel Kallman Day 2022: APEX Caching #joelkallmanday

I'm writing a short blog post today as part of the Joel Kallman Day . "Server-Side Caching" is probably an under-utilized feature of Oracle APEX. It's very easy to use, and can have an amazing impact on the performance of your APEX application, and make it (even) more scalable. What is APEX Server Caching? Here's how the help text explains it: " Select how the Oracle APEX engine can cache HTML…

Joel Kallman Day 2021: Oracle Database Express Edition (XE) 21c

The "Oracle Tech Network Appreciation Day" has been renamed to " Joel Kallman Day " in honor of Joel Kallman, who along with Mike Hichwa was one of the original developers of Oracle Application Express (APEX). Joel suddenly and tragically passed away during the pandemic earlier this year. Joel at APEX World in Rotterdam, 2019 The "Joel Kallman Day" is about appreciating some piece of Oracle tech.…

Ten years since Mythbusters: Stored Procedures Edition

Today it's exactly ten years since I published my blog post called Mythbusters: Stored Procedures Edition . Using "stored procedures" (ie storing and executing code in your database, next to the data, instead of in a middle tier or client) is a practice that is provably both efficient and secure, yet it is often dismissed as "wrong". My original blog post looks at the usual reasons given against…

New version of Quick PL/SQL, a code generator for PL/SQL

I've released a new version of Quick PL/SQL, the code generator for PL/SQL based on the same concept as QuickSQL in APEX, but for PL/SQL code. The initial version was released in August 2018. The online version is available (as before) here: tinyurl.com/quickplsql2 The source code is available on my GitHub . This release (version 1.2) has a few improvements. The first is syntax highlighting of the…

Translation enhancements in APEX 18 and 19

The Oracle Application Express (APEX) documentation summarizes the translation process thus: "To translate an application developed in App Builder, you must map the primary and target language, seed and export text to a translation file, translate the text, apply the translation file, and publish the translated application." When you go to Shared Components and then click "Translate Application",…

APEX custom Theme Style performance

When you create an application in Oracle Application Express (APEX) using the Universal Theme, the application comes with a few default "Theme Styles" which are essentially various stylesheets that you can switch between to go from the default blue (called "Vita") to, for example, the dark grey style (called "Vita - Slate"). You can use the Theme Roller in Oracle Application Express (APEX) to…

Thoth Gateway version 1.4.3 now available

I've updated the Thoth Gateway (a PL/SQL web gateway similar to mod_plsql and ORDS, but written in .NET that allows you to run APEX and PL/SQL Web Toolkit applications using Microsoft IIS web server). The latest release is version 1.4.3 . It fixes a few minor issues, but more importantly it is compiled against the latest ODP.NET Managed Driver. Among other things, this version of the Managed…

APEX Plugin: Execute PL/SQL code and return content to page (updated)

Oracle APEX has a built-in Dynamic Action called "Execute PL/SQL Code" that executes a block of PL/SQL code on the server via an Ajax call (ie does not do a regular submit and reload of the whole page). But what if you want to do something on the server AND also return some content back to the client? Back in 2012 I released an APEX Dynamic Action plugin called "Execute PL/SQL Code and Return…

Quick PL/SQL, a code generator for PL/SQL based on simple markup

Maybe you've heard about " Quick SQL ", a utility (previously a separate application, now part of APEX 18.1 itself) that generates SQL scripts based on a simple markup language. Quick SQL is a real time-saver and allows you to go from idea to prototype to working application in an instant. Inspired by Quick SQL, I've created a similar utility, called "Quick PL/SQL", that does the same thing,…

Thoughts about the APEX_UTIL package

The APEX_UTIL package in Oracle Application Express is a mixed bag of "miscellaneous" stuff. From the documentation : " You can use the APEX_UTIL package to get and set session state, get files, check authorizations for users, reset different states for users, get and purge cache information and also to get and set preferences for users. " It's clear that, over time, a lot of stuff has been placed…

APEX Authentication with Microsoft account

In the upcoming Oracle Application Express (APEX) 5.2 release, support has been added for so-called "Social Sign-In" authentication. This means that your users can login to an APEX application using an external authentication provider. In APEX 5.2, there is built-in support for Google and Facebook accounts. There is also support for "Generic OAuth Providers" and "OpenID Connect Providers". This…

Using the Slack webhook API from PL/SQL

Slack is a web-based chat room popular with many companies. Slack also has an API that can be used to post messages to a given "channel" or chat room. The simplest API offered is the "webhook" integration, which is "a simple way to post messages from external sources into Slack. They make use of normal HTTP requests with a JSON payload that includes the message text and some options." To create a…

Pivot Table plugin for APEX (Updated)

Some years ago I created an APEX region plugin for displaying the results of a query as a Pivot Table. You can read the original blog post about that here. The plugin proved quite popular, but people were having problems using it with APEX 5 due to a jQuery versioning conflict. I've now updated the plugin so it works with APEX, both 5.0 and 5.1. To use it, simply add a region to the page, change…

Oracle XE 12c becomes Oracle XE 18c

Oracle Database, Express Edition (XE) is a free version of the Oracle Database, currently available as version 11g (11.2) for Windows and Linux. A planned new version of Oracle XE based on 12c (12.2) was first mentioned back in 2013 . Now we are in 2017 and Oracle has changed its version numbering, aiming for yearly releases of the database, which means that after 12c comes 18c (in 2018) and 19c…

ODC Appreciation Day: The PL/SQL Language

Like last year, Tim Hall of oracle-base.com fame suggested we should all do an "ODC Appreciation Day" in honor of the Oracle Developer Community (ODC), by blogging about our favorite Oracle product or feature. My personal favorite, after the database itself , is the PL/SQL language that runs inside the database. Here's what's great about it: Simple (and therefore easy to understand and quick to…

Using VS Code for PL/SQL development

I've been using Sublime Text as my main editor for PL/SQL development for many years, but I'm now in the process of switching to Visual Studio Code (VS Code). Some good reasons to use VS Code: Multi-platform (Windows, OS X, Linux) Free, open source Lightweight, fast (enough) Large ecosystem of extensions Built-in Git support Can be adapted to PL/SQL coding via a plsql language extension (syntax…

APEX Plugin: Calendar Heatmap Region

I was looking at the GitHub "contribution chart", which shows number of commits per day as a heatmap calendar. I thought this type of chart would be cool to have as an APEX plugin, so I went ahead and implemented it. Here is a video I recorded to walk through how the plugin was made: Note: For an alternative implementation, see the " Block Calendar" in Oracle JET . As far as I can tell, there is…

APEX plugin files and 404 not found in ORDS

After installing APEX 5.0.4 and ORDS 3.0.8 I had an issue where APEX plugins that have static files bundled with the plugin (files that at runtime get mapped to URLs such as /ords/your_workspace_name/r/your_app_id/files/plugin/123456789/v1/filename ) were giving a 404 "not found" error from ORDS. Well, you actually have to open the console in the web browser to see the 404 errors, and then if you…

OTN Appreciation Day: Oracle Express Edition (XE)

Tim Hall of oracle-base.com fame suggested we should all do an "OTN Appreciation" day in honor of the Oracle Technology Network (OTN) , by blogging about our favorite Oracle product or feature. My personal favorite is Oracle Express Edition (XE), the free version of the world's best relational database. Here's what's great about it: Available for both Windows and Linux at the OTN website Easy to…

Using inline dialogs in APEX 5

APEX 5 has built-in support for dialog boxes. These come in two varieties; dialog pages (which show another standard APEX page in a dialog box using an iframe) and inline dialogs (which show a region on the current page as a dialog box). John Snyders goes into great technical detail about APEX dialogs and the differences between the two types. This post is a quick summary of how to use inline…

Using the PayPal REST API from PL/SQL

Do you need to accept payments for goods and services via your (APEX) application and would you prefer to handle the payments in the database via PL/SQL? Then this blog post is for you... :-) Almost a decade ago (in 2007), Oracle released a whitepaper on Integrating Application Express with PayPal Payments Pro which used PayPal's Name Value Pair (NVP) API. In the years since then, PayPal has made…