# Create table via ddl in dbt without using pre-post hook

**URL:** <https://discourse.getdbt.com/t/create-table-via-ddl-in-dbt-without-using-pre-post-hook/13880>\
**Category:** In-Depth Discussions\
**Tags:** jinja, best-practice, snowflake, macros, dbt-core\
**Created:** [June 19, 2024, 2:57pm UTC](https://discourse.getdbt.com/t/create-table-via-ddl-in-dbt-without-using-pre-post-hook/13880 "2024-06-19T14:57:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sneha](https://avatars.discourse-cdn.com/v4/letter/s/ecc23a/32.png) [@Sneha](https://discourse.getdbt.com/u/Sneha)\
**Post date:** [June 19, 2024, 2:57pm UTC](https://discourse.getdbt.com/t/create-table-via-ddl-in-dbt-without-using-pre-post-hook/13880/1 "2024-06-19T14:57:08Z")

</div>

Hi Team,  
I know dbt can create table in warehouse based on model. But to keep control on data type and approval process seamless we need a method where we can create a table via ddl sql and then execute the model  
will this possible via dbt where we pass the sql file/ txt file and execute the macro to create table if not exist
