我在Pentaho的一个转变,看起来像这样:在Pentaho中生成的随机值(uuid)作为列值?
这种转变填充表PRO_T_TICKETS
PostgreSQL中。 而此表主键被命名为OID
并且具有uuid
数据类型。
这里是我的数据库剪断联接查询:
我想作为Pentaho的列值使用生成的随机值OID
。
我的问题是我应该在我的Pentaho工作流程中放置“生成随机值(OID)”的步骤,以及我应该在db连接中进行哪些编辑,以便连接选择这个生成的uuid
作为其值?
我在Pentaho的一个转变,看起来像这样:在Pentaho中生成的随机值(uuid)作为列值?
这种转变填充表PRO_T_TICKETS
PostgreSQL中。 而此表主键被命名为OID
并且具有uuid
数据类型。
这里是我的数据库剪断联接查询:
我想作为Pentaho的列值使用生成的随机值OID
。
我的问题是我应该在我的Pentaho工作流程中放置“生成随机值(OID)”的步骤,以及我应该在db连接中进行哪些编辑,以便连接选择这个生成的uuid
作为其值?
根据需要获取数据流,除非它没有OID。使流程穿过Generate random value
并将其命名为OID。这应该是你正在寻找的流程。
另外,请对我们友善,清理你的例子,并删除所有不是强制性的理解问题(如排序,规范和种类)。
现在我在我的SQL查询中传递OID作为参数。 OID被生成并且表PRO_T_TICKETS具有OID作为其主键。我无法使用此来生成唯一的OID。 OID是我的表的主键。 @AlainD –
我不关注。由“SQL Join”或“Generate Random”生成的OID?如果右键单击'Daten SAP_Bcone'和'Show input fields',你会看到名为'OID'的列吗?如果你对'生成随机值(OID)'做同样的事情,你会看到一个名为'OID_1'的额外列吗? – AlainD
嘿。解决了它。我在连接查询中将OID作为参数传递。相反,我应该在table_output步骤之前使用“生成随机值(OID)”步骤。之后,只需将OID字段映射到目标列名称即可。 感谢您的帮助! :) @AlainD –
既然你不使用任何数据来生成UUID然后ü可以做一些
create sequence uuid_sequence_sample;
create table atest(oid uuid default uuid_generate_v5(uuid_ns_url(), cast(nextval('uuid_sequence_sample') as text)), id int, name text);
insert into atest(id, name) values(12, 'hello');
select * from atest;
oid | id | name
-------------------------------------------------
b80c8fef-a677-5340-85fb-2c162d75df03 | 12 | hello
有没有在OID加入,只是一个选择! – AlainD
是的。我指的是Pentaho步骤,而不是单独的OID。 –
您的转换无法工作,因为排序行没有输入。更重要的是,它不能工作,因为连接(它们两个)只有一个输入流。一个连接需要两个输入来加入它们。请提供可以理解的例子。 – AlainD