# Global editable variables

**URL:** <https://discourse.getdbt.com/t/global-editable-variables/9064>\
**Category:** Help\
**Created:** [July 9, 2023, 8:50pm UTC](https://discourse.getdbt.com/t/global-editable-variables/9064 "2023-07-09T20:50:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Liz](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@Liz](https://discourse.getdbt.com/u/Liz)\
**Post date:** [July 9, 2023, 8:50pm UTC](https://discourse.getdbt.com/t/global-editable-variables/9064/1 "2023-07-09T20:50:48Z")

</div>

Hello, is there any way to create a global variable in dbt core and initializing it with a select query from DB?

I just want to read a parameter value from a parameter table and use it in my model, several times  
Thanks  
Liz

---

<div class="post-metadata">

**Author:** ![Surya](https://sea2.discourse-cdn.com/flex020/user_avatar/discourse.getdbt.com/surya/32/3763_2.png) [@Surya](https://discourse.getdbt.com/u/Surya)\
**Post date:** [July 10, 2023, 3:05am UTC](https://discourse.getdbt.com/t/global-editable-variables/9064/2 "2023-07-10T03:05:34Z")

</div>

U can use run\_query macro to execute a query on warehouse and access the results

```auto
{% set results = run_query('select parameter from param_table') %}

{% if execute %}
{# Return the first column #}
{% set global_variable = results.columns[0].values() %}
{% else %}

```

model1.sql

`select col1, col2 from table_1 where col1= {{global_variable}}`

---

<div class="post-metadata">

**Author:** ![Liz](https://avatars.discourse-cdn.com/v4/letter/l/7ab992/32.png) [@Liz](https://discourse.getdbt.com/u/Liz)\
**Post date:** [July 10, 2023, 4:56am UTC](https://discourse.getdbt.com/t/global-editable-variables/9064/3 "2023-07-10T04:56:17Z")

</div>

If I used the first part in my first model  
Lets say:  
Model 1.sql

{% set results = run\_query(‘select parameter from param\_table’) %}

{% if execute %}  
{# Return the first column #}  
{% set global\_variable = results.columns[0].values() %}  
{% else %}

can I use this variable {{global\_variable}}from other models (model2.sql,model3.sql…)?

---

<div class="post-metadata">

**Author:** ![akashsolanke22](https://sea2.discourse-cdn.com/flex020/user_avatar/discourse.getdbt.com/akashsolanke22/32/2676_2.png) [@akashsolanke22](https://discourse.getdbt.com/u/akashsolanke22)\
**Post date:** [July 10, 2023, 7:28am UTC](https://discourse.getdbt.com/t/global-editable-variables/9064/4 "2023-07-10T07:28:03Z")

</div>

Hi @Liz , In dbt you can define the global variable which you can use in any models. Inside dbt\_project.yml file you will see vars section there you can define your global variable.

```auto
vars:
    drop_old_relations: ['MARTS', 'TRANSFORM']

```

To call the variable you can use :

```auto
{{ var('drop_old_relations') }}

```

---

<div class="post-metadata">

**Author:** ![Surya](https://sea2.discourse-cdn.com/flex020/user_avatar/discourse.getdbt.com/surya/32/3763_2.png) [@Surya](https://discourse.getdbt.com/u/Surya)\
**Post date:** [July 10, 2023, 8:29am UTC](https://discourse.getdbt.com/t/global-editable-variables/9064/5 "2023-07-10T08:29:18Z")

</div>

no u cannot use like that

---

<div class="post-metadata">

**Author:** ![Surya](https://sea2.discourse-cdn.com/flex020/user_avatar/discourse.getdbt.com/surya/32/3763_2.png) [@Surya](https://discourse.getdbt.com/u/Surya)\
**Post date:** [July 10, 2023, 8:32am UTC](https://discourse.getdbt.com/t/global-editable-variables/9064/6 "2023-07-10T08:32:12Z")

</div>

its not possible to initialize a variable with a select query from DB
