command_delimiter option [Interactive SQL]

Sets the string that indicates the end of a statement in Interactive SQL.

Allowed values

String

Default

Semicolon (;)

Remarks

In general, there is no need to change the command delimiter. You should leave it as a semicolon.

An alternative to using a semicolon or another string as a statement delimiter is to enter the separator go on a line by itself, at the beginning of the line. See Introduction to batches.

Specifying go on its own line at the beginning of the line is always recognized as a command delimiter, even if you set the command_delimiter option to a different value.

The command_delimiter value can be any string of characters with the following restrictions:

  • If the delimiter contains any one of & (ampersand), * (asterisk), @ (at sign), : (colon), . (period), = (equals), ( (left parentheses), ) (right parentheses), or | (vertical bar), the delimiter must not contain any other character. For example, * is a valid delimiter, but ** is not.
  • You should not use an existing keyword as a command separator. See Keywords.
  • The command delimiter can be any sequence of characters (including numbers, letters, and punctuation), but it cannot contain embedded blanks. As well, it can contain a semicolon, but only as the first character.

    If the command delimiter is set to a string beginning with a character that is valid in identifiers, the command delimiter must be preceded by a space. The command delimiter is case sensitive. You must enclose the new command delimiter in single quotation marks. When the command delimiter is a semicolon (the default), no space is required before the semicolon.

See also
Examples

The following example sets the command delimiter to a tilde:

SET OPTION command_delimiter='~';
MESSAGE 'hello'~

You can also use the Interactive SQL -d option to set the command delimiter without including a SET OPTION command_delimiter statement in a .sql file. For example, if you have a script file named test.sql that uses tildes (~) as the command delimiter, you could run:

dbisql -d "~" test.sql