评论和答案为“PostgreSQL的作家 - 如何在指定的列只能插入” https://knowledge.亚搏在线safe.com/questions/85824/postgresql-writers-how-to-insert-only-in-specified.html 最新的评论和答案的问题“PostgreSQL的作家 - 如何只插入指定的列” 评论由savoierider上savoierider的答案 https://knowledge.亚搏在线safe.com/comments/89246/view.html

你好,

谢谢您的回答和迟到抱歉。


你的两个方法似乎有趣,但没有回答我的问题。
事实上,我需要一个解决方案,我没有指定没有价值各个领域。

我有数百个领域的表和数千个。我们的数据模型是不断发展的,它是几乎不可能检查每场每次。

这就是为什么我使用动态的作家。但是,作为普通的作家这样做,他们迫使默认列NULL值。

现在我使用的是SQL脚本,由默认值替换每个NULL和空值做这项工作。


祝你今天愉快

星期四,2019年3月28日8时29分十六秒GMT savoierider
通过chrisatsafe回答亚搏在线 https://knowledge.亚搏在线safe.com/answers/87209/view.html

你好@savoierider


有几个解决方法,可以帮助我们的同时,对提供这方面的支持团队工作(相关:FMEENGINE-8945)。

方法1:

  1. 用一个测试人员发现没有为具有默认值(“C3”在这种情况下)的列中的值的功能。


  2. 写功能,是使用缺失值SQLExecutor使用SQL INSERT语句

    注意:insert语句中没有包含C3(默认值设置的列),这些值是由当前特性的属性值设置的
    通过从SQL语句插入值,您允许的默认值由数据库进行设置,因为这是等同于直接在pgAdmin的执行SQL语句。

  3. 最后,测试仪的故障端口连接到PostgreSQL的作家。因为这些特性已经有了C3属性的属性值,所以可以将它们发送给写入器。

这种方法允许数据库设置基于在pgAdmin的列属性的默认值。

方法2:

使用变压器来设置使用PostgreSQL的作家的默认值,并写入功能。这可以通过使用许多不同的变压器来实现,但这个例子中使用NullAttributeMapper与PostgreSQL的作家写的功能之前设置的默认值。


也可以在转换器中使用条件语句AttributeManager

我重视演示如何这个工程样品的工作空间。如果您想尝试运行工作空间,首先在被称为“TestCreateColumns”与4列的公共架构创建pgAdmin的新表:

列名 类型
C1 文本
C2 字符
C3 双击此列上的默认值——我使用了100
C4

接下来,运行工作区(提示时设置数据库连接)与一个书签启用并查看pgAdmin的输出。

模板:Insert_Default_Values.fmwt

星期三,2019年2月20日零点18分十七秒GMT chrisat亚搏在线safe
评论由savoierider上savoierider的答案 https://knowledge.亚搏在线safe.com/comments/85993/view.html

感谢对尖端,不幸的是我有多达20个属性INSERT。


星期一,2019年1月28日16点28分46秒GMT savoierider
通过伊泰回答 https://knowledge.亚搏在线safe.com/answers/85902/view.html

如果你只是在作家要素类型一个属性和作家被设置为插入只插入一个属性。

周五,2019年1月25日十五时13分59秒GMT 伊泰
评论由savoierider上savoierider的答案 https://knowledge.亚搏在线safe.com/comments/85878/view.html

你好@gio

感谢对你的答案和你的时间。不幸的是,这不是正是我寻找。


在Writer级别添加一个默认值让我确定每列有即使我自己也没有这种数据的默认值。
=>由于我MCD是不断变化(不是每一天,但每月),我需要检查所有这些领域的每一次我编辑我的剧本,并添加/删除字段默认。
=>要大量的工作(很长的时间consumming)。


使用属性的创造者:同上(但是那是我第attenpted来解决这个麻烦)。


使用脚本:目前我在做什么,但在SQL直接书面方式后:也许维护所有这些默认值的最简单方法(但需要SQL技能有东西干净)。


事实上,我的脚本可以帮助我们从我们的客户数据模型数据导入到我们自己的数据模型。我的目标是创建一个脚本,可以通过不具有在FME并为每一个客户的良好技能的人是使用。
该脚本包含所有你在作家需要,所以我的同事只需要输入客户特征,做一些简单的转换(重命名字段,改变一些值不了多少),并把它插入到作家的特点。


如果某些FME developpers的只能在定义的列添加一个选项INSERT这可能是一个非常好的事情。

周五,2019年1月25日9时09分08秒GMT savoierider
由吉奥回答 https://knowledge.亚搏在线safe.com/answers/85839/view.html

@savoierider

在作家层面:

最简单的方法是在Writer级别设置默认值。(如果整个列具有被设置为相同的值)

只需右键点击的作家和编辑使用属性的属性。输入默认值。


此前作家:

使用属性的创造者,进口列直接构成表。

使用脚本获取人的约束。获取默认值,并有条件地(为空或丢失),使用例如一个属性的创造者的属性设置为它。

星期四,2019年1月24日17时05分48秒GMT GIO