SQL*Plus is the Oracle Database's supplied interactive SQL client. In later versions of Oracle, for interactive SQL queries, SQL Developer has a better GUI. However, to run scripts and run SQL as part of batch scripts, SQL Plus is your man.
Setting Up SQL Plus
SQL Plus has set of options that can be used to tailor the output. You can set these up to allow you to display things on screen or to create batch files.
Create a file with only data from your SQL
To remove all headings, feedback etc. from the output. If you have just started SQL Plus:
set pages 0 set feedback off
Writing out "LONGs"
To increase the length of a LONG column displayed in SQL Plus:
set long 55000 set arrays 1 set maxdata 60000
The difference between long and maxdata (in the above example, 60,000-55,000=5,000) gives the space for the other columns in the rest of the row
Changing the Prompt
To put the database name into the prompt in SQL Plus (prior to Oracle 10g):
column global_name new_value gname select name || '> ' global_name from v$database; set sqlprompt '&gname'
This is made a little simpler in 10g and higher:
set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "
Editing Your SQL
Use your favourite text editor to edit files - for instance - TextPad - by altering the SQL Plus system variable:
Show Output from PL/SQL
To see output from PL/SQL (and see as much as you can):
/* Pre 10gR2 client */ set serveroutput on size 1000000
/* Post 10gR2 client */ set serveroutput on size unlimited
Set a Spool Filename with Database Name and Timestamp
Set a SQL*Plus substitution variable by a database query and use this as part of the name of the file:
column colFileSuffix new_value FileSuffix select name||'_'||to_char(sysdate,'YYYY-MM-DD-HH24-MI-SS') colFileSuffix from v$database; spool ReportFile_&&FileSuffix ...commands... spool off
Articles about SQL: