snow stage execute¶
Execute immediate all files from the stage path. Files can be filtered with glob like pattern,
e.g. @stage/*.sql
, @stage/dev/*
. Only files with .sql
extension will be executed.
Syntax¶
snow stage execute
<stage_path>
--on-error <on_error>
--variable <variables>
--connection <connection>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-path <private_key_path>
--token-file-path <token_file_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
Arguments¶
stage_path
Stage path with files to be execute. For example
@stage/dev/*
.
Options¶
--on-error [break|continue]
What to do when an error occurs. Defaults to break.
--variable, -D TEXT
Variables for the template. For example:
-D "<key>=<value>"
, string values must be in''
.--connection, -c, --environment TEXT
Name of the connection, as defined in your
config.toml
. Default:default
.--account, --accountname TEXT
Name assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXT
Username to connect to Snowflake. Overrides the value specified for the connection.
--password TEXT
Snowflake password. Overrides the value specified for the connection.
--authenticator TEXT
Snowflake authenticator. Overrides the value specified for the connection.
--private-key-path TEXT
Snowflake private key path. Overrides the value specified for the connection.
--token-file-path TEXT
Path to file with an OAuth token that should be used when connecting to Snowflake.
--database, --dbname TEXT
Database to use. Overrides the value specified for the connection.
--schema, --schemaname TEXT
Database schema to use. Overrides the value specified for the connection.
--role, --rolename TEXT
Role to use. Overrides the value specified for the connection.
--warehouse TEXT
Warehouse to use. Overrides the value specified for the connection.
--temporary-connection, -x
Uses connection defined with command line parameters, instead of one defined in config.
--mfa-passcode TEXT
Token to use for multi-factor authentication (MFA).
--enable-diag
Run python connector diagnostic test.
--diag-log-path TEXT
Diagnostic report path.
--diag-allowlist-path TEXT
Diagnostic report path to optional allowlist.
--format [TABLE|JSON]
Specifies the output format.
--verbose, -v
Displays log entries for log levels
info
and higher.--debug
Displays log entries for log levels
debug
and higher; debug logs contains additional information.--silent
Turns off intermediate output to console.
--help
Displays the help text for this command.
Usage notes¶
The command searches for files with a
.sql
extension in the specifiedSTAGE_PATH
and executesEXECUTE IMMEDIATE
on each of them.STAGE_PATH
can be:Only a stage name, such as
@scripts
, which executes all.sql
files from the stage.Glob-like pattern, such as
@scripts/dir/*
, which executes.sql
files from the dir directory.Direct file path, such as
@scripts/script.sql
, which executes only thescript.sql
file from thescripts
.
The --silent
options hides intermediate messages with file execution results.
When using Jinja templates for the SQL files, you can pass template variables using -D
(or --variable
) option, such as -D "<key>=<value>"
. You must enclose string values in single quotes (''
).
Examples¶
Specify only a stage name to execute all
.sql
files in the stage:snow stage execute "@scripts"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
Specify a glob-like pattern to execute all
.sql
files in thedir
directory:snow stage execute "@scripts/dir/*"
SUCCESS - scripts/dir/script.sql +------------------------------------------+ | File | Status | Error | |------------------------+---------+-------| | scripts/dir/script.sql | SUCCESS | None | +------------------------------------------+
Specify a glob-like pattern to execute only
.sql
files in thedir
directory that begin with “script”, followed by one character:snow stage execute "@scripts/script?.sql"
SUCCESS - scripts/script1.sql SUCCESS - scripts/script2.sql +---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | | scripts/script2.sql | SUCCESS | None | +---------------------------------------+
Specify a direct file path with the
--silent
option:snow stage execute "@scripts/script1.sql" --silent
+---------------------------------------+ | File | Status | Error | |---------------------+---------+-------| | scripts/script1.sql | SUCCESS | None | +---------------------------------------+