A Quick Guide to ISQL's Switches and Commands for Firebird/InterBase

by Claudio Valderrama C.

isql -optionA -optionB -optionC...

Options Are:

-X or -EX       extract metadata
-A              extract all metadata
-E              echo
-M              merge stderr with stdout
-NOW            don't display warnings (from the engine)
-NOA            no autocommit
-O <ofile>      output file
-I <ifile>      input file
-T <term>       set terminator
-D <db>         database name
-PAG <len>      set page length
-P <pw>         password
-U <usr>        user
-R <role>       role=> I found a bug here, the role is always uppercased
-C <cache>      cache buffers
-Q              quiet operations
-Z              display version
-S <dialect>    set SQL dialect

Interactive commands or commands that can be included in a script:

Show <object [name]>
Add                  => add a row to a table
Copy                 => creates one table with the same structure as the original
blobView             => calls an editor with the blob contents
blobDump             => writes a file with the blob contents
output               => redirects output to a file
shell                => invokes the operating system shell
create database <options>
drop database
connect <options>
edit                 => loads a blob from a temp. file after an editor is called
input                => takes input from a file and executes it immediately
quit                 => finish, rollback
exit                 => finish, commit
help

The following are SET commands:

stats             => statistics on performance: read, writes, etc.
count             => number of rows affected as returned by the API
list              => show fields in vertical way
plan              => activate plan information
planonly          => do not execute statements; only show the plan that would be used
blob OFF|<n>|ALL  => shows blob contents of no blob type, type N or all types
echo              => reflects input
autoddl           => DLL (metadata commands) are committed automatically
autofetch         => currently useless. the source code
width <colname> <size>=> sets size for display purposes
transaction       => starts a transaction with the required parameters
term <t>          => the infamous terminator
names <cs>        => has an effect only before CONNECT; changes session character set
time              => time portion shown for dialect 1 timestamp fields?
sql dialect <n>   => set SQL dialect