当前,Save()
API在传递集合时会提供upsert行为,但是从另一个表插入时是否还能使其正常工作呢?
我对原始PostgreSQL进行upsert的方式是这样的:
INSERT INTO customers (name, email)
SELECT name, email FROM other_table
ON CONFLICT (name)
DO
UPDATE SET email = EXCLUDED.email;
OrmLite支持,ON CONFLICT
但我看不到任何使用来将其链接到更新中的方法EXCLUDED
。
有没有一种方法可以使用流畅的API来实现这种功能,而无需将集合读入内存?
OrmLite中没有为此提供类型化的API支持,并且很可能不会提供良好的类型化跨平台抽象来处理支持Upsert的RDBMS中此功能的不同功能和排列。
您将需要使用OrmLite自定义SQL API执行所需的Upsert SQL查询,该自定义SQL API可与OrmLite的类型化Column<T>
和Table<T>
API一起使用,以在addhoc SQL中包括类型化的表和列引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句