170 lines
5.2 KiB
Text
170 lines
5.2 KiB
Text
|
================================================================================
|
||
|
on constraint do nothing
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict on constraint foo do nothing;
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier)))))
|
||
|
|
||
|
================================================================================
|
||
|
on conflict column names
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo, bar) do nothing;
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier)
|
||
|
(identifier)))))
|
||
|
|
||
|
================================================================================
|
||
|
on conflict value expressions
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (coalesce(one, two), bar) do nothing;
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(function_call
|
||
|
(identifier)
|
||
|
(identifier)
|
||
|
(identifier))
|
||
|
(identifier)))))
|
||
|
|
||
|
================================================================================
|
||
|
update with default
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo) do update set foo = default;
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value)))))
|
||
|
|
||
|
================================================================================
|
||
|
update with expression
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo) do update set foo = 1;
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value
|
||
|
(number))))))
|
||
|
|
||
|
================================================================================
|
||
|
update with expression(1)
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo) do update set (foo) = (1);
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value
|
||
|
(number))))))
|
||
|
|
||
|
================================================================================
|
||
|
update with expression(2)
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo) do update set (foo, bar) = (1, 2, default);
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(identifier)
|
||
|
(update_value
|
||
|
(number))
|
||
|
(update_value
|
||
|
(number))
|
||
|
(update_value)))))
|
||
|
|
||
|
================================================================================
|
||
|
update with expression(3)
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo) do update set foo = 1, bar = default, baz = (select 1);
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value
|
||
|
(number)))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value
|
||
|
(select_statement
|
||
|
(select_item
|
||
|
(number))))))))
|
||
|
|
||
|
================================================================================
|
||
|
update with expression(4)
|
||
|
================================================================================
|
||
|
insert into foo default values on conflict (foo) do update set (foo) = (1), bar = default;
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
(source_file
|
||
|
(insert_statement
|
||
|
(identifier)
|
||
|
(insert_items)
|
||
|
(insert_conflict
|
||
|
(conflict_target
|
||
|
(identifier))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value
|
||
|
(number)))
|
||
|
(update_set
|
||
|
(identifier)
|
||
|
(update_value)))))
|