Command summary v41
Use these commands with EDB*Plus.
ACCEPT
The ACCEPT command displays a prompt and waits for keyboard input. The value from the input is placed in the specified variable.
ACC[EPT ] variable
This example creates a new variable named my_name, accepts a value of John Smith, and then displays the value using the DEFINE command.
SQL> ACCEPT my_name Enter value for my_name: John Smith SQL> DEFINE my_name DEFINE MY_NAME = "John Smith"
APPEND
APPEND appends the given text to the end of the current line in the SQL buffer.
A[PPEND ] text
In this example, a SELECT command is built in the SQL buffer using the APPEND command. Two spaces are placed between the APPEND command and the WHERE clause to separate dept and WHERE by one space in the SQL buffer.
SQL> APPEND SELECT * FROM dept SQL> LIST 1 SELECT * FROM dept SQL> APPEND WHERE deptno = 10 SQL> LIST 1 SELECT * FROM dept WHERE deptno = 10
CHANGE
CHANGE performs a search-and-replace on the current line in the SQL buffer.
C[HANGE ] FROM [ TO ]
If you specify TO/, the first occurrence of the text FROM in the current line is changed to text TO. If you omit TO/, the first occurrence of the text FROM in the current line is deleted.
This sequence of commands makes line 3 the current line and then changes the department number in the WHERE clause from 20 to 30.
SQL> LIST 1 SELECT empno, ename, job, sal, comm 2 FROM emp 3 WHERE deptno = 20 4* ORDER BY empno SQL> 3 3* WHERE deptno = 20 SQL> CHANGE /20/30/ 3* WHERE deptno = 30 SQL> LIST 1 SELECT empno, ename, job, sal, comm 2 FROM emp 3 WHERE deptno = 30 4* ORDER BY empno
CLEAR
The CLEAR command removes the contents of the SQL buffer, deletes all column definitions set with the COLUMN command, or clears the screen.
CL[EAR ] [ BUFF[ER ] | SQL | COL[UMNS ] | SCR[EEN ] ]
BUFFER | SQL
Clears the SQL buffer.
COLUMNS
Removes column definitions.
SCREEN
Clears the screen. This is the default.
COLUMN
The COLUMN command controls output formatting. The formatting attributes set by using the COLUMN command remain in effect only for the current session.
COL[UMN] [column_name [CLE[AR] | FOR[MAT] format_spec | HEA[DING] heading_text | NEW_V[ALUE] variable | ON | OFF...]]
If you specify the COLUMN command with no other options, formatting options for current columns in effect for the session are displayed.
If the COLUMN command is followed by a column name, then the column name can be followed by one of the following:
- No other options
CLEAR- Any combination of
FORMAT,HEADING,NEW_VALUEand eitherOFForON
column_name
Name of a column in a table to which column formatting options apply. If no other options follow column_name, then the current column formatting options of column_name, if any, are displayed.
CLEAR
The CLEAR option reverts all formatting options to their defaults for column_name. If you specify the CLEAR option, it must be the only option specified.
format_spec
Format specification to apply to column_name. For character columns, format_spec takes the following format:
n
n is a positive integer that specifies the column width in characters within which to display the data. Data in excess of n wraps around with the specified column width.
For numeric columns, format_spec is made up of the following elements.
| Element | Description |
|---|---|
$ | Display a leading dollar sign. |
, | Display a comma in the indicated position. |
. | Marks the location of the decimal point. |
0 | Display leading zeros. |
9 | Number of significant digits to display. |
If loss of significant digits occurs due to overflow of the format, then all #s are displayed.
heading_text
Text to use for the column heading of column_name.
NEW_V[ALUE]
This variable option is valid if specified alone or with other already supported options. A variable specified in the COLUMN command option is associated with the given column. The variable can contain the data value of a column or expression of a variable in the SQL SELECT list. You can use it in the SQL script for the rest of the session.
To contain the departmentnumber value for the deptno column, you can define a variable using the NEW_VALUE option:
SQL> column deptno new_value departmentnumber SQL> select deptno,dname from dept; DEPTNO DNAME ------ -------------- 10 ACCOUNTING 20 RESEARCH 30 SALES 40 OPERATIONS SQL> prompt departmentnumber: '&departmentnumber' departmentnumber: '40' SQL> INSERT INTO emp VALUES (1,'micheal','tester',7902,'17-DEC-80',800,NULL,'&departmentnumber'); 1 row INSERTED.
The NEW_V[ALUE] variable has the following limitations:
- Column values differ when they're seeded using the
NEW_VALUEparameter for the "time with time zone" data type. - The
NEW_VALUEvariable prompts for the value if the corresponding column value isNULL. Oracle treatsNULLand an empty string the same, while EDB Postgres Advanced Server has a different behavior. Therefore, in EDB*Plus it prompts for the value. - The variable value doesn't show in the
COLUMNheader if you reference theNEW_VALUEvariable in aSELECTquery without an alias.
OFF | ON
If you specify OFF, formatting options revert to their defaults but are still available in the session. If you specify ON, the formatting options specified by previous COLUMN commands for column_name in the session are reactivated.
This example shows the effect of changing the display width of the job column:
SQL> SET PAGESIZE 9999 SQL> COLUMN job FORMAT A5 SQL> COLUMN job COLUMN JOB ON FORMAT A5 wrapped SQL> SELECT empno, ename, job FROM emp;
EMPNO ENAME JOB
----- ---------- -----
7369 SMITH CLERK
7499 ALLEN SALES
MAN
7521 WARD SALES
MAN
7566 JONES MANAG
ER
7654 MARTIN SALES
MAN
7698 BLAKE MANAG
ER
7782 CLARK MANAG
ER
7788 SCOTT ANALY
ST
7839 KING PRESI
DENT
7844 TURNER SALES
MAN
7876 ADAMS CLERK
7900 JAMES CLERK
7902 FORD ANALY
ST
7934 MILLER CLERK
14 rows retrieved.This example applies a format to the sal column:
SQL> COLUMN sal FORMAT $99,999.00 SQL> COLUMN COLUMN JOB ON FORMAT A5 wrapped COLUMN SAL ON FORMAT $99,999.00 wrapped SQL> SELECT empno, ename, job, sal FROM emp;
EMPNO ENAME JOB SAL
----- ---------- ----- -----------
7369 SMITH CLERK $800.00
7499 ALLEN SALES $1,600.00
MAN
7521 WARD SALES $1,250.00
MAN
7566 JONES MANAG $2,975.00
ER
7654 MARTIN SALES $1,250.00
MAN
7698 BLAKE MANAG $2,850.00
ER
7782 CLARK MANAG $2,450.00
ER
7788 SCOTT ANALY $3,000.00
ST
7839 KING PRESI $5,000.00
DENT
7844 TURNER SALES $1,500.00
MAN
7876 ADAMS CLERK $1,100.00
7900 JAMES CLERK $950.00
7902 FORD ANALY $3,000.00
ST
7934 MILLER CLERK $1,300.00
14 rows retrieved.CONNECT
Change the database connection to a different user or connect to a different database. There must be no white space between any of the parameters following the CONNECT command. The syntax is:
CON[NECT] <username>[/<password>][@{<connectstring> | <variable> } ]
Where:
username is a database username with which to connect to the database.
password is the password associated with the specified username. If you don't provide a password, but a password is required for authentication, a search is made for a password file. The search looks first in the home directory of the Linux operating system account invoking EDB*Plus (or in the %APPDATA%\postgresql\ directory for Windows) and then at the location specified by the PGPASSFILE environment variable. The password file is .pgpass on Linux hosts and pgpass.conf on Windows hosts. The following is an example on a Windows host:
C:\Users\Administrator\AppData\Roaming\postgresql\pgpass.conf
If a password file can't be located or it doesn't have an entry matching the EDB*Plus connection parameters, then EDB*Plus prompts for the password. For more information about password files, see the PostgreSQL core documentation.
!!! Note
When a password isn't required, EDB*Plus doesn't prompt for a password, such as when the trust authentication method is specified in the pg_hba.conf file. For more information about the pg_hba.conf file and authentication methods, see the PostgreSQL core documentation.
connectstring is the database connection string. See Using EDB*Plus for more information about the database connection string.
variable is a variable defined in the login.sql file that contains a database connection string. The login.sql file is in the edbplus subdirectory of the EDB Postgres Advanced Server home directory.
In this example, the database connection is changed to database edb on the localhost at port 5445 with username smith.
SQL> CONNECT smith/mypassword@localhost:5445/edb Disconnected from EnterpriseDB Database. Connected to EnterpriseDB 16.4.1 (localhost:5445/edb) AS smith
In this session, the connection is changed to the username enterprisedb. The host defaults to the localhost, the port defaults to 5444 (which isn't the same as the port previously used), and the database defaults to edb.
SQL> CONNECT enterprisedb/password Disconnected from EnterpriseDB Database. Connected to EnterpriseDB 16.4.1 (localhost:5444/edb) AS enterprisedb
This example shows connectivity for a multi-node cluster (one primary node and two secondary nodes) setup. The given multi-host connectstring syntax is used to establish a connection with the active primary database server. In this case, using CONNECT command, the connection is established with the primary database node on host 192.168.22.24 at port 5444.
SQL> CONNECT enterprisedb/edb@192.168.22.24:5444,192.168.22.25:5445,192.168.22.26:5446/edb?targetServerType=primary Disconnected from EnterpriseDB Database. Connected to EnterpriseDB 16.4.1 (192.168.22.24:5444/edb) AS enterprisedb
DEFINE
The DEFINE command creates or replaces the value of a user variable (also called a substitution variable).
DEF[INE ] [ variable [ = text ] ]
If you give the DEFINE command without any parameters, all current variables and their values are displayed.
If DEFINE variable is given, only variable is displayed with its value.
DEFINE variable = text assigns text to variable.text, which you can optionally enclose in single or double quotation marks. Quotation marks must be used if text contains space characters.
This example defines two variables, dept and name:
SQL> DEFINE dept = 20 SQL> DEFINE name = 'John Smith' SQL> DEFINE DEFINE EDB = "localhost:5445/edb" DEFINE DEPT = "20" DEFINE NAME = "John Smith"
Note
The variable EDB is read from the login.sql file located in the edbplus subdirectory of the EDB Postgres Advanced Server home directory.
DEL
DEL deletes one or more lines from the SQL buffer.
DEL [ n | n m | n * | n L[AST ] | * | * n | * L[AST ] | L[AST ] ]
The parameters specify the lines to delete from the SQL buffer. Two parameters specify the start and end of a range of lines to delete. Giving the DEL command without parameters deletes the current line.
n
n is an integer representing the nth line.
n m
n and m are integers, where m is greater than n representing the nth through the mth lines.
*
Current line.
LAST
Last line.
This example deletes the fifth and sixth lines, which contain columns sal and comm, respectively, from the SELECT command in the SQL buffer.
SQL> LIST 1 SELECT 2 empno 3 ,ename 4 ,job 5 ,sal 6 ,comm 7 ,deptno 8* FROM emp SQL> DEL 5 6 SQL> LIST 1 SELECT 2 empno 3 ,ename 4 ,job 5 ,deptno 6* FROM emp
DESCRIBE
The DESCRIBE command displays:
- A list of columns, column data types, and column lengths for a table or view
- A list of parameters for a procedure or function
- A list of procedures and functions and their respective parameters for a package
The DESCRIBE command also displays the structure of the database object referred to by a synonym. The syntax is:
DESC[RIBE] [ schema.]object
schema
Name of the schema containing the object to describe.
object
Name of the table, view, procedure, function, or package to display or the synonym of an object.
DISCONNECT
The DISCONNECT command closes the current database connection but doesn't end the EDB*Plus session.
DISC[ONNECT ]
EDIT
The EDIT command invokes an external editor to edit the contents of an operating system file or the SQL buffer.
ED[IT ] [ filename[.ext ] ]
filename[.ext ]
filename is the name of the file to open with an external editor. ext is the filename extension. If the extension is sql, then you can omit it. (EDIT assumes a .sql extension on filenames that are specified with no extension.) If you omit the filename parameter from the EDIT command, the contents of the SQL buffer are brought into the editor.
EXECUTE
The EXECUTE command executes an SPL procedure from EDB*Plus.
EXEC[UTE ] spl_procedure [ ([ parameters ]) ]
spl_procedure
The name of the SPL procedure to execute.
parameters
Comma-delimited list of parameters. If there are no parameters, then you can optionally specify a pair of empty parentheses.
EXIT
The EXIT command ends the EDB*Plus session and returns control to the operating system. QUIT is a synonym for EXIT. Specifying no parameters is equivalent to EXIT SUCCESS COMMIT.
{ EXIT | QUIT }
[ SUCCESS | FAILURE | WARNING | value | variable ]
[ COMMIT | ROLLBACK ]SUCCESS | FAILURE |WARNING]Returns an operating-system-dependent return code indicating successful operation, failure, or warning for SUCCESS, FAILURE, and WARNING, respectively. The default is SUCCESS.
value
An integer value returned as the return code.
variable
A variable created with the DEFINE command whose value is returned as the return code.
COMMIT | ROLLBACK
If you specify COMMIT, uncommitted updates are committed upon exit. If you specify ROLLBACK, uncommitted updates are rolled back upon exit. The default is COMMIT.
GET
The GET command loads the contents of the given file to the SQL buffer.
GET filename[.ext ] [ LIS[T ] | NOL[IST ] ]
filename[.ext ]
filename is the name of the file to load into the SQL buffer. ext is the filename extension. If the extension is sql, then you can omit it. GET assumes a .sql extension on filenames that are specified with no extension.
LIST | NOLIST
If you specify LIST, the contents of the SQL buffer are displayed after the file is loaded. If you specify NOLIST, no listing is displayed. The default is LIST.
HELP
The HELP command gets an index of topics or help on a specific topic. The question mark (?) is synonymous with specifying HELP.
{ HELP | ? } { INDEX | topic }INDEX
Displays an index of available topics.
topic
The name of a specific topic, such as an EDB*Plus command, for which you want help.
HOST
The HOST command executes an operating system command from EDB*Plus.
HO[ST ] [os_command]
os_command
The operating system command to execute. If you don't provide an operating system command, EDB*Plus pauses and opens a new shell prompt. When the shell exits, EDB*Plus resumes execution.
INPUT
The INPUT command adds a line of text to the SQL buffer after the current line.
I[NPUT ] text
This sequence of INPUT commands constructs a SELECT command:
SQL> INPUT SELECT empno, ename, job, sal, comm SQL> INPUT FROM emp SQL> INPUT WHERE deptno = 20 SQL> INPUT ORDER BY empno SQL> LIST 1 SELECT empno, ename, job, sal, comm 2 FROM emp 3 WHERE deptno = 20 4* ORDER BY empno
LIST
LIST displays the contents of the SQL buffer.
L[IST] [ n | n m | n * | n L[AST] | * | * n | * L[AST] | L[AST] ]
The buffer doesn't include a history of the EDB*Plus commands.
n
n represents the buffer line number.
n m
n m displays a list of lines between n and m.
n *
n * displays a list of lines that range between line n and the current line.
n L[AST]
n L[AST] displays a list of lines that range from line n through the last line in the buffer.
*
* displays the current line.
* n
* n displays a list of lines that range from the current line through line n.
* L[AST]
* L[AST] displays a list of lines that range from the current line through the last line.
L[AST]
L[AST] displays the last line.
PASSWORD
Use the PASSWORD command to change your database password.
PASSW[ORD] [user_name]
You must have privileges to use the PASSWORD command to change another user's password. This example uses the PASSWORD command to change the password for a user named acctg:
SQL> PASSWORD acctg Changing password for acctg New password: New password again: Password successfully changed.
PAUSE
The PAUSE command displays a message and waits for the user to press ENTER.
PAU[SE] [optional_text]
optional_text specifies the text to display to the user. If you omit optional_text, EDB Postgres Advanced Server displays two blank lines. If you double quote the optional_text string, the quotes are included in the output.
PROMPT
The PROMPT command displays a message to the user before continuing.
PRO[MPT] [message_text]
message_text specifies the text displayed to the user. Double quote the string to include quotes in the output.
QUIT
The QUIT command ends the session and returns control to the operating system. QUIT is a synonym for EXIT.
QUIT [SUCCESS | FAILURE | WARNING | value | sub_variable] [COMMIT | ROLLBACK]
The default value is QUIT SUCCESS COMMIT.
REMARK
Use REMARK to include comments in a script.
REM[ARK] [optional_text]
You can also use the following convention to include a comment:
/* * This is an example of a three-line comment. */
SAVE
Use the SAVE command to write the SQL buffer to an operating system file.
SAV[E] file_name [CRE[ATE] | REP[LACE] | APP[END]]
file_name
file_name specifies the name of the file (including the path) where the buffer contents are written. If you don't provide a file extension, .sql is appended to the end of the filename.
CREATE
Include the CREATE keyword to create a file. A file is created only if a file with the specified name doesn't already exist. This is the default.
REPLACE
Include the REPLACE keyword to overwrite an existing file.
APPEND
Include the APPEND keyword to append the contents of the SQL buffer to the end of the specified file.
This example saves the contents of the SQL buffer to a file named example.sql, located in the temp directory:
SQL> SAVE C:\example.sql CREATE File "example.sql" written.
SET
Use the SET command to specify a value for a session-level variable that controls EDB*Plus behavior. The following forms of the SET command are valid.
SET AUTOCOMMIT`
Use the SET AUTOCOMMIT command to specify commit behavior for EDB Postgres Advanced Server transactions.
SET AUTO[COMMIT] {ON | OFF | IMMEDIATE | statement_count}
EDB*Plus always automatically commits DDL statements.
ON
Specify ON to turn on AUTOCOMMIT behavior.
OFF
Specify OFF to turn off AUTOCOMMIT behavior.
IMMEDIATE
IMMEDIATE has the same effect as ON.
statement_count
Include a value for statement_count to issue a commit after the specified count of successful SQL statements.
SET COLUMN SEPARATOR
Use the SET COLUMN SEPARATOR command to specify the text to display between columns.
SET COLSEP column_separatorThe default value of column_separator is a single space.
SET ECHO
Use the SET ECHO command to specify to display SQL and EDB*Plus script statements onscreen as they execute.
SET ECHO {ON | OFF}
The default value is OFF.
SET FEEDBACK
The SET FEEDBACK command controls the display of interactive information after a SQL statement executes.
SET FEED[BACK] {ON | OFF | row_threshold}
row_threshold
Specify an integer value for row_threshold. Setting row_threshold to 0 is same as setting FEEDBACK to OFF. Setting row_threshold equal 1 effectively sets FEEDBACK to ON.
SET FLUSH
Use the SET FLUSH command to control display buffering.
SET FLU[SH] {ON | OFF}
Set FLUSH to OFF to enable display buffering. If you enable buffering, messages bound for the screen might not appear until the script completes. Setting FLUSH to OFF offers better performance.
Set FLUSH to ON to disable display buffering. If you disable buffering, messages bound for the screen appear immediately.
SET HEADING
Use the SET HEADING variable to specify whether to display column headings for SELECT statements.
SET HEA[DING] {ON | OFF}
SET HEADSEP
The SET HEADSEP command sets the new heading separator character used by the COLUMN HEADING command. The default is '|'.
SET HEADS[EP]
SET LINESIZE
Use the SET LINESIZE command to specify the width of a line in characters.
SET LIN[ESIZE] width_of_line
width_of_line
The default value of width_of_line is 132.
SET NEWPAGE
Use the SET NEWPAGE command to specify how many blank lines to print after a page break.
SET NEWP[AGE] lines_per_page
lines_per_page
The default value of lines_per_page is 1.
SET NULL
Use the SET NULL command to specify a string to display when a NULL column value is displayed in the output buffer.
SET NULL null_string
SET PAGESIZE
Use the SET PAGESIZE command to specify the number of printed lines that fit on a page.
SET PAGES[IZE] line_count
Use the line_count parameter to specify the number of lines per page.
SET SQLCASE
The SET SQLCASE command specifies whether to convert SQL statements transmitted to the server to upper or lower case.
SET SQLC[ASE] {MIX[ED] | UP[PER] | LO[WER]}
UPPER
Specify UPPER to convert the command text to upper case.
LOWER
Specify LOWER to convert the command text to lower case.
MIXED
Specify MIXED to leave the case of SQL commands unchanged. The default is MIXED.
SET PAUSE
The SET PAUSE command is most useful when included in a script. The command displays a prompt and waits for the user to press Return.
SET PAU[SE] {ON | OFF}
If SET PAUSE is ON, the message Hit ENTER to continue… appears before each command executes.
SET SPACE
Use the SET SPACE command to specify the number of spaces to display between columns.
SET SPACE number_of_spacesSET SQLPROMPT
Use SET SQLPROMPT to set a value for a user-interactive prompt.
SET SQLP[ROMPT] "prompt"
By default, SQLPROMPT is set to "SQL> "
SET TERMOUT
Use the SET TERMOUT command to specify to display command output.
SET TERM[OUT] {ON | OFF}
SET TIMING`
The SET TIMING command specifies whether to display the execution time for each SQL statement after it executes.
SET TIMI[NG] {ON | OFF}
SET TRIMSPOOL`
Use the SET TRIMSPOOL command to remove trailing spaces from each line in the output file specified by the SPOOL command.
SET TRIMS[POOL] {ON | OFF}
The default value is OFF.
SET VERIFY
Specifies whether to display both the old and new values of a SQL statement when a substitution variable is encountered.
SET VER[IFY] { ON | OFF }
SHOW
Use the SHOW command to display current parameter values.
SHO[W] {ALL | parameter_name}
Display the current parameter settings by including the ALL keyword:
SQL> SHOW ALL autocommit OFF colsep " " define "&" echo OFF FEEDBACK ON for 6 row(s). flush ON heading ON headsep "|" linesize 78 newpage 1 null " " pagesize 14 pause OFF serveroutput OFF spool OFF sqlcase MIXED sqlprompt "SQL> " sqlterminator ";" suffix ".sql" termout ON timing OFF verify ON USER is "enterprisedb" HOST is "localhost" PORT is "5444" DATABASE is "edb" VERSION is "14.0.0"
Or display a specific parameter setting by including the parameter_name in the SHOW command:
SQL> SHOW VERSION VERSION is "14.0.0"
SPOOL
The SPOOL command sends output from the display to a file.
SP[OOL] output_file | OFF
Use the output_file parameter to specify a pathname for the output file.
START
Use the START command to run an EDB*Plus script file. START is an alias for the @ command.
STA[RT] script_file
Specify the name of a script file in the script_file parameter.
UNDEFINE
The UNDEFINE command erases a user variable created by the DEFINE command.
UNDEF[INE] variable_name [ variable_name...]
Use the variable_name parameter to specify the name of a variable or variables.
WHENEVER SQLERROR
The WHENEVER SQLERROR command provides error handling for SQL errors or PL/SQL block errors. The syntax is:
WHENEVER SQLERROR
{CONTINUE[COMMIT|ROLLBACK|NONE]
|EXIT[SUCCESS|FAILURE|WARNING|n|sub_variable]
[COMMIT|ROLLBACK]}If EDB Postgres Advanced Server encounters an error while executing a SQL command or PL/SQL block, EDB*Plus performs the action specified in the WHENEVER SQLERROR command:
Include the
CONTINUEclause to perform the specified action before continuing.Include the
COMMITclause to commit the current transaction before exiting or continuing.Include the
ROLLBACKclause to roll back the current transaction before exiting or continuing.Include the
NONEclause to continue without committing or rolling back the transaction.Include the
EXITclause to perform the specified action and exit in case of an error.
Use the following options to specify a status code that EDB*Plus returns before exiting:
[SUCCESS|FAILURE|WARNING|n|sub_variable]
EDB*Plus supports substitution variables but doesn't support bind variables.