2012-12-20 37 views
0
空值

代碼:缺失而投票與現場

<int-jdbc:inbound-channel-adapter 
     query="SELECT USER_ID,BOOK_ID FROM BOOK WHERE ROWNUM &lt;= 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爲空,因此如何使用更新屬性中刪除嗎?

,我們可以使用條件在更新刪除作爲 :bookId != null ? 'DELETE FROM BOOK WHERE USER_ID = :userId AND BOOK_ID = :bookId : DELETE FROM BOOK WHERE USER_ID = :userId AND BOOK_ID IS NULL

任何幫助將不勝感激!

回答

1

如果您允許行在您的書籍表中存在空主鍵,我認爲您可能會遇到數據完整性問題。這有點編輯,所以如何:

update="DELETE FROM BOOK WHERE (USER_ID = :userId AND BOOK_ID = :bookId) OR (USER_ID = :userId AND BOOK_ID is null)"