| name | snowflake-create-dynamic-table |
| description | Consult Snowflake CREATE DYNAMIC TABLE parameter reference before generating any CREATE DYNAMIC TABLE DDL. |
Before writing a CREATE DYNAMIC TABLE statement:
- Read
references/parameters.md to review all available parameters and their defaults.
- For each parameter, decide whether the user's request implies a non-default value.
- Include only the parameters that differ from the default or that the user explicitly requested.
- Never use
CREATE OR REPLACE — always use CREATE DYNAMIC TABLE IF NOT EXISTS where supported.
- Always specify both
TARGET_LAG and WAREHOUSE — they are required. Choose TARGET_LAG = DOWNSTREAM only when the dynamic table feeds other dynamic tables and downstream refresh semantics are desired; otherwise use an explicit interval (e.g., '1 minutes').
- Prefer
REFRESH_MODE = AUTO unless the user explicitly requires FULL or INCREMENTAL; the system will choose the most efficient mode automatically.
- Do not add
CLUSTER BY unless the table is expected to be multi-terabyte or the user requests it.
- Do not use
EXECUTE AS USER unless the user explicitly provides an impersonation user, as it requires the IMPERSONATE privilege.
- Append the defining query as the
AS <query> clause at the end of the statement — it is required.