我想使用“表存在”步骤来检查某个表是否存在,如果不存在则创建一个
我创建的转换(为了将数据从输入数据库复制到输出数据库)
Table Input -----> Table exists ----> Table output
“表存在”中的属性是
Step name:
connection:
Schema name:
Tablename field:
Result fieldname:
前三个是明确的。最后两个
“表名字段”是什么意思?它是一个带有有限选项的下拉列表,这些选项是输入表的列名。它应该是我要检查连接的表名吗?
什么是结果字段名?我怎样才能使用它?
最佳答案
Tablename
field 是它检查的表。 Result fieldname
将包含该字段的名称此步骤输出中的 bool 结果标志。
如果不存在,请使用以下顺序检查并创建表。
表输入 - 从数据库中获取数据。
生成行 - 指定
tablenamefield
作为名称和 table_name_to_check
作为值和 String
作为类型。稍后我们可以使用字段 tablenamefield
在表中存在步骤表存在 - 选择
tablenamefield
出现在 Tablename 字段下拉列表中。将任何名称写为 Result fieldname
即 result
开关/ shell - 类型
Y
如果值和 Table Output
作为目标步骤。制作 execute SQL statement
作为默认目标步骤。要切换的字段名称是 result
执行 SQL 语句 - 编写您的表创建 SQL 查询。
表输出 - 写入新表。
注意:如果您不想检查每行是否存在表。您可以使用作业并检查第一次转换中的表是否存在,以及我推荐的第二次转换中的表输入和输出步骤以提高性能。
关于pentaho - Pentaho Kettle 中的 "Table exists"步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33856927/