|
94 | 94 |
|
95 | 95 | {% macro oracle__get_incremental_append_sql(args_dict) %}
|
96 | 96 | {%- set parallel = config.get('parallel', none) -%}
|
| 97 | + {%- set insert_mode = config.get('insert_mode', none) -%} |
97 | 98 | {%- set dest_columns = args_dict["dest_columns"] -%}
|
98 | 99 | {%- set temp_relation = args_dict["temp_relation"] -%}
|
99 | 100 | {%- set target_relation = args_dict["target_relation"] -%}
|
100 | 101 | {%- set dest_column_names = dest_columns | map(attribute='name') | list -%}
|
101 | 102 | {%- set dest_cols_csv = get_quoted_column_csv(model, dest_column_names) -%}
|
102 |
| - INSERT {% if parallel %} /*+PARALLEL({{ parallel }})*/ {% endif %} INTO {{ target_relation }} ({{ dest_cols_csv }}) |
| 103 | + INSERT {% if parallel %} /*+PARALLEL({{ parallel }})*/ {% endif %} |
| 104 | + {% if insert_mode == 'append' %} /*+ append */ {% endif %} |
| 105 | + INTO {{ target_relation }} ({{ dest_cols_csv }}) |
103 | 106 | (
|
104 | 107 | SELECT {{ dest_cols_csv }}
|
105 | 108 | FROM {{ temp_relation }}
|
|
108 | 111 |
|
109 | 112 | {% macro oracle__get_incremental_merge_sql(args_dict) %}
|
110 | 113 | {%- set parallel = config.get('parallel', none) -%}
|
| 114 | + {%- set insert_mode = config.get('insert_mode', none) -%} |
111 | 115 | {%- set dest_columns = args_dict["dest_columns"] -%}
|
112 | 116 | {%- set temp_relation = args_dict["temp_relation"] -%}
|
113 | 117 | {%- set target_relation = args_dict["target_relation"] -%}
|
|
138 | 142 | {% endfor -%}
|
139 | 143 | )
|
140 | 144 | {%- else -%}
|
141 |
| - insert {% if parallel %} /*+parallel({{ parallel }})*/ {% endif %} into {{ target_relation }} ({{ dest_cols_csv }}) |
| 145 | + insert {% if parallel %} /*+parallel({{ parallel }})*/ {% endif %} |
| 146 | + {% if insert_mode == 'append' %} /*+ append */ {% endif %} |
| 147 | + into {{ target_relation }} ({{ dest_cols_csv }}) |
142 | 148 | (
|
143 | 149 | select {{ dest_cols_csv }}
|
144 | 150 | from {{ temp_relation }}
|
|
178 | 184 |
|
179 | 185 | {% macro oracle__get_incremental_delete_insert_sql(args_dict) %}
|
180 | 186 | {%- set parallel = config.get('parallel', none) -%}
|
| 187 | + {%- set insert_mode = config.get('insert_mode', none) -%} |
181 | 188 | {%- set dest_columns = args_dict["dest_columns"] -%}
|
182 | 189 | {%- set temp_relation = args_dict["temp_relation"] -%}
|
183 | 190 | {%- set target_relation = args_dict["target_relation"] -%}
|
|
188 | 195 | {%- if unique_key or incremental_predicates -%}
|
189 | 196 | BEGIN
|
190 | 197 | EXECUTE IMMEDIATE '{{ oracle__get_delete_sql_for_delete_insert_strategy(target_relation, temp_relation, unique_key, incremental_predicates) }}';
|
191 |
| - EXECUTE IMMEDIATE 'insert {% if parallel %} /*+parallel({{ parallel }})*/ {% endif %} into {{ target_relation }} ({{ dest_cols_csv }})( |
| 198 | + EXECUTE IMMEDIATE 'insert {% if parallel %} /*+parallel({{ parallel }})*/ {% endif %} |
| 199 | + {% if insert_mode == 'append' %} /*+ append */ {% endif %} |
| 200 | + into {{ target_relation }} ({{ dest_cols_csv }})( |
192 | 201 | select {{ dest_cols_csv }}
|
193 | 202 | from {{ temp_relation }})';
|
194 | 203 | END;
|
195 | 204 | {%- else -%}
|
196 |
| - insert {% if parallel %} /*+parallel({{ parallel }})*/ {% endif %} into {{ target_relation }} ({{ dest_cols_csv }}) |
| 205 | + insert {% if parallel %} /*+parallel({{ parallel }})*/ {% endif %} |
| 206 | + {% if insert_mode == 'append' %} /*+ append */ {% endif %} |
| 207 | + into {{ target_relation }} ({{ dest_cols_csv }}) |
197 | 208 | (
|
198 | 209 | select {{ dest_cols_csv }}
|
199 | 210 | from {{ temp_relation }}
|
|
0 commit comments