Informatica Cloud:SQL之前/之后的命令中使用字段

时间:2019-08-21 22:57:48

标签: etl informatica informatica-powercenter informatica-cloud

我正在尝试从IICS(Informatica Cloud)中的查找中基于列(年份)删除目标表中的一组数据。

我想使用前置/后置sql命令解决此问题,但约束是我无法将year列传递给查询。

我尝试过:

delete from sample_db.tbl_emp where emp_year = {year}

我想删除从查询返回中获得的特定年份的所有员工

  

例如:

     

我将year设为'2019',必须删除表sample_db.tbl_emp中包含emp_year = 2019的所有记录。

我不确定这在informatica云中如何工作。

任何线索都将有所帮助。

2 个答案:

答案 0 :(得分:0)

您如何获得年份值?除非您需要在另一个转换中(即在转换运行之前或之后)进行此操作,否则前置/后置SQL可能不是可行的方法。另外,您的组织是否只有ICDI或ICAI?根据提供的值,ICAI可能是更好的解决方案。

答案 1 :(得分:0)

以下步骤将帮助您实现这一目标。

  1. 在映射中创建输入输出参数。
  2. 使用SetMaxVariable将表达式转换中的查找结果分配给参数
  3. 将目标SQL之前的参数用作

delete from sample_db.tbl_emp where emp_year = $$parameter

让我知道您是否还有其他问题