The statement's closing semicolon, used by ij to determine
that it has ended, is not passed to the underlying connection. Only one
statement at a time is passed to the connection. If the underlying connection
itself accepts semicolon-separated statements (which
does not), they can be
passed to the connection using ij's
Execute command to
pass in a command string containing semicolon-separated commands.
ij uses the result of the JDBC execute request to determine
whether it should print a number-of-rows message or display a result set.
If a JDBC execute request causes an exception, it displays the
SQLState, if any, and an error message.
Setting the ij property
ij.showErrorCode
to true displays the SQLException's error code (see
).
The number-of-rows message for inserts, updates, and deletes conforms to
the JDBC specification for any SQL statement that does not have a result set.
DDL (data definition language) commands typically report "0 rows
inserted/updated/deleted" when they successfully complete.
To display a result set, ij formats a banner based on the
JDBC ResultSetMetaData information returned from getColumnLabel
and getColumnWidth. Long columns wrap the screen width, using multiple
lines. An & character denotes truncation
(ij limits displayed width of a column to 128 characters by
default; see ).
ij displays rows as it fetches them. If the underlying DBMS
materializes rows only as they are requested, ij displays a
partial result followed by an error message if there is a error in fetching a
row partway through the result set.
ij verifies that a connection exists before issuing
statements against it and does not execute SQL when no connection has yet been
made.
There is no support in ij for the JDBC feature multiple
result sets.