Search notes:

SQL*Plus: START

start script.sql runs (executes) the SQL statements recorded in script.sql.
SQL*Plus searches for the indicated file in the current directory first and then in the directories that are pointed at by $SQLPATH.

Using @ when starting SQL*Plus

The @ can also be used on the command line when SQL*Plus is invoked to start a script file:
sqlplus rene/xxxx@db  @do-stuff.sql

test depth limit

prompt Test depht limit
start test_depth_limit.sql
Github repository Oracle-Patterns, path: /SQLPlus/start/test_depth_limit.sql

Question mark

The question mark is replaced with the value of the ORACLE_HOME environment variable which makes installing scripts (notably those found under $ORACLE_HOME/rdmbs/amdin) a bit easier:
rene@ora19> @?/rdbms/admin/utlsqmpl

Enter value for xyz

Sometimes, when executing an SQL script in SQL*Plus, the message Enter value for xyz show up:
SQL> @update-customers.sql
Enter value for xyz:
The cause for this message is (probably) that the script contains substitution variables and SQL*Plus prompts for the value that should be assigned to such a variable.
In order to turn off this message, use
set define off

Prevent displaying of commands found and executed in an SQL script file

With echo being set to on, SQL*Plus will display (replicate) each command found within the SQL script before executing it.
I find this behavior in most cases quite distractful, therefor, I like to set it off:
SQL> set echo off
SQL> @script.sql

Expanding environment variables

With the @ command, the value of environment variables can be expanded with [$XYZ] (or in windows [%XYZ%]), see displaying the value of NLS_LANG in SQL*PLus running in Windows.

See also

With 19c, SQL*Plus still does not allow to read lines that are longer than 4999 characters!
The echo setting
When executing scripts, one might consider to set feedback off and/or set termout off to suppress echoing text to the terminal in order to reduce output.
SQL*Plus/Powershell: Color error messages when running a script
A user defined SQLcl command handler to print the name of executed scripts in green.
SQL*Plus

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1740535554, '18.191.166.195', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/databases/Oracle/SQL-Plus/start/index(103): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78