Define
Transformation for this command is pending
Description
The
DEFINE
command specifies a user or predefined variable and assigns a CHAR value to it, or lists the value and variable type of a single variable or all variables. (Oracle SQL Plus User's Guide and Reference)
Snowflake recommends not adding whitespace in the variable value assignment statement.
1. Define with simple variable assignment
This case is functionally equivalent.
The DEFINE
command is replaced by the !define
command.
Oracle
SnowSQL (CLI Client)
For referring to a previously defined variable, & is preceded by the name of the variable, if the variable does not exist, Oracle allows its execution time assignment, however, Snowflake would throw an error indicating the non-existence of said variable
2. Define without variable assignments
This case is not functionally equivalent.
Oracle
SnowSQL (CLI Client)
The DEFINE command used without the assignment statement is used in Oracle to show the definition of the variable, on the other hand in Snowflake this way of using the DEFINE command would reset the assignment of the variable, so a way to simulate the behavior presented in Oracle it is by using the SELECT command.
This solution would be something like this:
Known Issues
1. Enabling variable substitution
To enable SnowSQL CLI to substitute values for the variables, you must set the variable_substitution configuration option to true. This process can be done at installation, when starting a database instance, or by running the following command:
2. Predefined variables
There are nine predefined variables during SQL*Plus installation. These variables can be used later by the user. The SnowSQL CLI client only has two predefined variables __ROWCOUNT
and __SFQID
.
Last updated