gpt4 book ai didi

javascript - 如何使用 Azure SQL 数据库中的存储过程一次获取查询的所有批处理?

转载 作者:行者123 更新时间:2023-11-29 15:10:10 26 4
gpt4 key购买 nike

我正在尝试检查集合中是否存在重复项。存储过程和 Azure 数据库的新手,所以现在我正在尝试计算不同的条目。如果 count distinct (column name) = count (column name),则没有重复项,所以我正在尝试为此编写一个存储过程。但是 azure 一次只能检索 100 个文档。我需要对所有可用批处理进行计数。

我能够获得不同条目的计数,但它显示了检索到的第一批的计数 - 即 100。我需要所有批处理的计数。

function sample(prefix) {
var collection = getContext().getCollection();

var isAccepted = collection.queryDocuments(
collection.getSelfLink(),
'SELECT DISTINCT VALUE r.column FROM root r',
function (err, feed, options) {
if (err) throw err;
if (!feed || !feed.length) {
var response = getContext().getResponse();
response.setBody('no docs found');
}
else {
var response = getContext().getResponse();
response.setBody(JSON.stringify(feed.length));
}
});

if (!isAccepted) throw new Error('The query was not accepted by the server.');
}

我希望输出计算集合中不同的条目。应该是103,实际是100,是azure一次性检索出来的数。

最佳答案

queryDocuments 的 FeedOptions pageSize 属性的默认值为 100,这可能是问题的原因。请尝试将值设置为 -1。以下存储过程在我这边运行良好,请引用。

function getall(){
var context = getContext();
var response = context.getResponse();
var collection = context.getCollection();
var collectionLink = collection.getSelfLink();

var filterQuery = 'SELECT * FROM c';

collection.queryDocuments(collectionLink, filterQuery, {pageSize:-1 },
function(err, documents) {
response.setBody(response.getBody() + JSON.stringify(documents));
}
);
}

希望对您有所帮助。

关于javascript - 如何使用 Azure SQL 数据库中的存储过程一次获取查询的所有批处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55396705/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com