# Snowflake Streams for incremental dbt loads

**URL:** <https://discourse.getdbt.com/t/snowflake-streams-for-incremental-dbt-loads/4511>\
**Category:** Archive\
**Created:** [June 21, 2022, 2:19am UTC](https://discourse.getdbt.com/t/snowflake-streams-for-incremental-dbt-loads/4511 "2022-06-21T02:19:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ddumas](https://sea2.discourse-cdn.com/flex020/user_avatar/discourse.getdbt.com/ddumas/32/1289_2.png) [@ddumas](https://discourse.getdbt.com/u/ddumas)\
**Post date:** [June 21, 2022, 2:19am UTC](https://discourse.getdbt.com/t/snowflake-streams-for-incremental-dbt-loads/4511/1 "2022-06-21T02:19:28Z")

</div>

Has anyone leveraged snowflake streams as a source table for incremental loads in dbt? The stream will give you the inserts/update/deletes “auto-magically”, so there will been need to write “update\_date”, or “Check” logic to get the data that changed

When dbt issues dml on the stream, the stream will be cleared, and ready for the next execution of dbt run related to that table.

Or, alternatively, dbt can **first** insert from the stream to a “stage” transient table (that gets truncated and reloaded in each run via a pre-hook), and then another dbt model can read from _that_ table.

Either way, the data in the stream is “bullet proof”, and requires no additional logic to capture source changes.
