DataStage Oracle Connector 不执行“SQL 语句之后”

问题描述 投票:0回答:1

我的 Oracle Connector 有问题。它应该按如下方式工作:

1 - 删除开始日期等于 SYSDATE 的行

2 - 在该表中插入数据

3 - 更新开始日期与 SYSDATE 不同的行

我在“Before SQL statements”中编写了删除语句,并且它有效。步骤 2 也有效。步骤3中的更新语句写在“After SQL语句”中,但是虽然日志说该命令已经执行,但对表没有任何影响。

更新如下:

UPDATE table
SET end_date = TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD'), 'YYYYMMDD') - 1,FLAG = 'N'

我尝试将 UPDATE 和 DELETE 语句放在一起,放在 BEGIN/END 块内,但随后作业失败,因为它无法识别块后的 COMMIT 语句。

我尝试在 DELETE 语句之后和 COMMIT 之前编写 UPDATE 语句,但它仍然对表没有影响,而 DELETE 语句仍然继续工作。

我还尝试使用 SQL Developer 直接在数据库上执行这两个语句,并且成功了。我唯一知道的是这不是语法问题。

有人可以帮助我吗?

oracle-database sql-update sql-delete datastage
1个回答
0
投票

我尝试将

UPDATE
DELETE
语句放在一起,放在
BEGIN
/
END
块内,但是作业失败了,因为它无法识别块后面的
COMMIT
语句。

COMMIT
语句放在 PL/SQL 块内。

© www.soinside.com 2019 - 2024. All rights reserved.