Skip to main content

Command Palette

Search for a command to run...

Customising Oracle SQLcl. How to set the most used params and change the look & feel?

Updated
3 min read
Customising Oracle SQLcl. How to set the most used params and change the look & feel?
R

Oracle APEX & PL/SQL Developer with 10 years of experience in IT, including financial systems for government administration, energy, banking and logistics industry. Enthusiast of database automation. Oracle ACE Associate. Certified Liquibase database versioning tool fan. Speaker at Kscope, APEX World, SOUG, HrOUG, POUG and DOAG. Likes swimming in icy cold lakes in winter and playing basketball.

You're already using SQLcl, but your terminal looks plain. I'll show you how to make it more appealing—nothing complicated, just simple enhancements.

While SQLcl has many parameters, which are the most useful for an APEX and PL/SQL developer? I will share my opinion.

Check SQLcl parameters

SQLcl supports many parameters. You can check your current settings with this simple command:

show param

Or you can check a particular setting:

show [setting_name]

Most useful SQLcl settings

Ok, and here are some settings I believe are most useful.

Display username & connection name

I connected to my "demo"

But, after a while, I have no idea what my username and connection are - what if I think it's a DEV, but it's a Production? (I have a good but short memory)

How about now:

set sqlprompt "@|blue _USER|@@@|green _CONNECT_IDENTIFIER|@ > "

My username is DEMO_RAFAL, and my connection name is DEMO.

Much better, isn't it?

Display status bar

How about having a nice status bar at the bottom with some useful data?

Easy to set:

set statusbar on

set statusbar default username git project cwd txn timing

And it shows:

  • Username

  • GIT branch

  • Project name (if exists)

  • Current Working Directory

  • Transaction status

  • Query Timing

Show line numbers on or off

If you don't like line numbers, you can easily turn them on / off with

set linenumbers on

set linenumbers off

Display or not the results of SQL when running a script [Termout]

TERMOUT setting controls whether to display the result of SQL when running a script

set termout on

Turn it off for a simple look :)

set termout off

I think it is self-explanatory

set serveroutput on

set serveroutput off

Display or not the number of records returned/affected by a statement [feedback]

Whether you want to see those results or not, you should set feedback settings.

set feedback off / on

Enable or disable prompting [define]

If your scripts require some prompts, then you might want to turn this setting on.

Otherwise, disable it.

set define '&'

set define off

Do I need to set those parameters every single time?

Of course...you don't :)

You can put all your favourite settings in the login.sql script that will be executed automatically each time you connect using SQLcl.

How to do it? It's a topic for a separate post, which will be published by the end of August 2026

Other resources

  • If you are looking for other ideas for customising SQLcl, you should check out this blog post, written a while ago by Jeff Smith.

  • My main blog post hub for all my articles related to SQLcl -> here