我的项目基于Node,Mongo和Oracle。
现在,客户端希望以最少的代码更改级别代替Oracle使用SQL Server。
我对Oracle和SQL Server数据库的了解非常有限。对于Oracle,我们使用oracledb npm支持结果集方法从Oracle检索数据。
from collections import defaultdict
A = [0, 100, -100, 50, 200]
B = [30, 100, 20, 0]
C = [0, 20, -1, 80]
D = [50, 0, -200, 1]
def initialize_sums(lst):
return {item: [[item]] for item in lst}
def update_sums(sums, lst):
new_sums = defaultdict(list)
for sm, ways in sums.items():
for item in lst:
new_sum = sm + item
for way in ways:
new_sums[new_sum].append(way + [item])
return new_sums
def find_sum(sums, last_lst, X):
last_lst = sorted(last_lst)
ret = []
for sm, ways in sorted(sums.items()):
for item in last_lst:
x = sm + item
if x > X:
break
if x == X:
for way in ways:
ret.append(way + [item])
break
return ret
sums = initialize_sums(lst=A)
sums = update_sums(sums, lst=B)
sums = update_sums(sums, lst=C)
ret = find_sum(sums, last_lst=D, X=0)
print(ret)
# [[-100, 30, 20, 50], [0, 0, -1, 1], [-100, 100, -1, 1], ...]
然后为SQL Server数据库选择mssql
npm。我找不到与connection.execute(
"SELECT employee_id, last_name FROM employees ORDER BY employee_id",
[], // no bind variables
{ resultSet: true }, // return a Result Set. Default is false
function(err, result) {
if (err) { . . . }
fetchOneRowFromRS(connection, result.resultSet);
});
});
function fetchOneRowFromRS(connection, resultSet) {
resultSet.getRow( // get one row
function (err, row) {
if (err) {
. . . // close the Result Set and release the connection
} else if (!row) { // no rows, or no more rows
. . . // close the Result Set and release the connection
} else {
console.log(row);
fetchOneRowFromRS(connection, resultSet); // get next row
}
});
}
npm程序包中的结果集等效的任何方法。
请提出正确的方法或正确的npm软件包来解决我的问题。
预先感谢