DB2 - 如何在删除之前测试记录是否存在

时间:2017-04-05 16:49:30

标签: sql db2

花时间试图找出如何构造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!

1 个答案:

答案 0 :(得分:1)

由于您说这是一个DataStage作业,因此有两种方法可以解决这个问题:

1)添加消息处理程序以将该消息从错误转换为警告。请参阅this techdoc

2)(可能更简单)在delete语句周围添加一个简单的select来捕获已删除的行数。 DataStage不会抱怨这个:

SELECT COUNT(*) AS DELETED
FROM OLD TABLE (
    DELETE FROM <your_table>
    WHERE <criteria>
)