Executing a Script

Once you've written a script, you can invoke it in different ways. One option is to invoke it interactively from the SQL*Plus prompt, a technique you've already seen used in previous examples. You do this using the @ command. To run the script ex8-4b.sql, you write an @ symbol followed immediately by the filename of the script you wish to execute:

SQL> @ex8-4b

The .sql extension is optional and is assumed unless you specify otherwise.

Usually, you write scripts so you can invoke them automatically. To that end, you should know how to invoke them from your operating system command line. In addition, under Windows, you can package a script in a way that lets you easily invoke it by double-clicking an icon. Finally, iSQL*Plus enables you to invoke scripts via the Internet.

Invoking a Script from the Command Line

To execute a script from your operating system command line, use the following syntax:

sqlplus username/password @script_name

To pass arguments to your script, include them after the script name. Enclose parameters containing whitespace within quotes. If you have any doubts as to whether to use quotes, then use them:

sqlplus username/password @script_name 
               arg "arg"  . . .

If you are connecting to a remote database, you must also specify the net service name for that database:

sqlplus username/password@service_name 
               script_name

Net service names are often defined by your DBA in a file named tnsnames.ora but may be defined in an LDAP directory. If you have any doubts about ...

Get Oracle SQL*Plus: The Definitive Guide, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.