2013-09-26 27 views
1

我正在寫的CouchDB _design文檔下面的SQL命令代表NVL():的CouchDB:鑑於

SELECT NVL(MAX(NVL(VERSION,0)),0)+1 FROM pricelistdocs WHERE 
PRICE_LIST_ID = ? AND DELETION_FLAG = 0; 

我想出了一個_design視圖功能之下,而運行和返回值,但如果我懷疑正確和滿足上述SQL命令的期望。

function(doc){ 
if(doc.PRICE_LIST_ID == "110011" && doc.DELETION_FLAG == "0"){ 
    emit(doc._id, doc.VERSION); 
} 
} 

請我怎麼可以添加NVL()MAX功能我上面的觀點_design文檔。 任何infortiom或線索表示讚賞。感謝您的時間。

回答

1

您可以通過檢查字段的存在情況來編寫自己的NVL函數,如果它不存在,則返回0。

對於最大功能,您必須添加一個減少功能到您的視圖。如果你只是想獲得最大限度,"reduce": "_max"將做,這是一個內置的減少功能。