span8
span4
嗨,
我尝试导入Excel文件中的一个Postgres的表。
但插入Excel文件的行之前,我不得不删除目标表中的所有记录,其中一列从Excel文件中的值Postgres的表中匹配字段的值。
我实现了执行与聚集方删除操作变换,它执行的Excel列和SQLExecutor变压器,在目标表中删除所有记录,其值匹配GROUPBY值之一GROUPBY操作。
这部分工作正常。
但现在,我不找出如何在此之后插上一个Postgres作家插入操作。
因为SQLExecutor从发起者仅返回GROUPBY值。
我不认为我可以使用DatabaseUpdater变压器fme_db_operation此上下文。
谢谢你的帮助。
你好@christian_b如果您在执行DELETE语句之前保存的所有属性到列表中的属性,你可以用ListExploder后恢复输入功能。聚合器(组方:价值模式:几何 - 组装一个级别)与生成列表选项也可以用来代替在这个截图ListBuilder。
希望这个有帮助。
通过创建连接时将在字符串。
Listbuilder(由特征类型分组),listduplicateremover上的值属性(或之前listbuilder重复过滤器)。
通过“1样本”我的意思是只使用一个功能触发SQL的执行者。(如果u listbuild在纸张上,你可能只用一个功能上而已)
您可以通过(例如)执行的作家。
创建“删除器”的SQL执行人后,“触发”属性。使用fme_feature类型名称。
链接/关联/合并这功能被无条件地写入(可变的setter /猎犬也有可能)。这就需要暴露在纸张上的fme_feature_type。
然后测试,如果请求者和供应商具有相同的触发值。合并转到作家。
要求每个值的SQL执行器的效率不高的。
传递一个列表低谷效率不高要么。(除非列表很小)
我会去@takashi的最后一个版本,并替换为SQL执行者,删除与‘IN’语句从数据库删除器(你可以持有一个字符串颇有价值的的)。“IN”弦上ATTRIBUTE_VALUE创建一个连接符或属性的创造者。
通话为1的样品的sql执行者。
在此之后,你可以执行的作家。
喜孝,非常感谢你对这个非常准确的答案。
今天早上我找到了一个解决方案,在我的SQLExecutor后面使用了一个feature remerger transformer,它确实有效,但是我认为它不是很优雅……
你的办法似乎好得多,我来试试。
关于您对DatabaseDeleter转换器的第二个回答,我认为它不会起作用,因为删除操作必须在插入操作之前完成,而在您的图中,这两个操作是并行进行的。
祝你有美好的一天!
基督教
©2019安全亚搏在线软件公司|法律