Skip to main content

If models can only be `select` statements, how do I insert records?

For those coming from an ETL (Extract Transform Load) paradigm, there's often a desire to write transformations as insert and update statements. In comparison, dbt will wrap your select query in a create table as statement, which can feel counter-productive.

  • If you wish to use insert statements for performance reasons (i.e. to reduce data that is processed), consider incremental models
  • If you wish to use insert statements since your source data is constantly changing (e.g. to create "Type 2 Slowly Changing Dimensions"), consider snapshotting your source data, and building models on top of your snaphots.

Was this page helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

0