我試圖用這個JS函數來刪除一個表中的一行在Oracle數據庫中的工作:甲骨文刪除語句未JS
deleteDirection(directionId, callback) {
if (!this.connected) {
return Promise.reject(new Error('not connected')).asCallback(callback)
}
const connection = this.connection
const task = Promise.coroutine(function*() {
const conn = yield connection
const query = 'DELETE FROM directions WHERE direction_id = :directionId'
const result = yield conn.execute(query, { directionId }, {
outFormat: oracle.OBJECT,
})
.then(directionDeleted => {
if (directionDeleted.rowsAffected === 0) {
return Promise.reject(new Error('invalid number'))
}
return Promise.resolve(directionDeleted)
})
.catch(err => Promise.reject(new Error(err)));
return Promise.resolve(result)
})
return Promise.resolve(task()).asCallback(callback)
}
的功能完成,沒有任何問題,但該行不會被刪除,如果我在Oracle SQL Developer上嘗試相同的語句,它可以很好地工作,可能是什麼問題?
''後面的'autoCommit:true'這一行缺少你是正確的,autoCommit是解決方案,但是不需要改變綁定變量,與{directionId}很好,謝謝你的幫助,是的,該項目有一個翻譯 –