代码:
<int-jdbc:inbound-channel-adapter
query="SELECT USER_ID,BOOK_ID FROM BOOK WHERE ROWNUM <= 11"
channel="index-back-data" data-source="dataSource"
max-rows-per-poll="10"
update=" ? "
row-mapper="DataRowMapper">
<int:poller fixed-delay="10000" />
</int-jdbc:inbound-channel-adapter>
问题:
在轮询 BOOK 表时,我可能会将 bookid 设为 null,那么如何使用更新属性删除它?
我们可以在更新中使用条件删除吗
:bookId != null ? '从书中删除 USER_ID = :userId AND BOOK_ID = :bookId : 从书中删除 USER_ID = :userId AND BOOK_ID 为 NULL
任何帮助将不胜感激!
最佳答案
我认为,如果您允许图书表中存在主键为空的行,则可能会遇到数据完整性问题。这有点社论,那么:
update="DELETE FROM BOOK WHERE (USER_ID = :userId AND BOOK_ID = :bookId) OR (USER_ID = :userId AND BOOK_ID is null)"
关于java - 轮询字段中的空值时删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972516/