花时间试图找出如何构造DB2 SQL语句,该语句在删除之前首先检查记录是否存在。寻找某条线:
if exists(select 1 from my_table where my_table.my_field = current date) then
delete from my_table where my_table.my_field = current date
TIA!
答案 0 :(得分:1)
由于您说这是一个DataStage作业,因此有两种方法可以解决这个问题:
1)添加消息处理程序以将该消息从错误转换为警告。请参阅this techdoc。
2)(可能更简单)在delete语句周围添加一个简单的select来捕获已删除的行数。 DataStage不会抱怨这个:
SELECT COUNT(*) AS DELETED
FROM OLD TABLE (
DELETE FROM <your_table>
WHERE <criteria>
)