Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Azure存储过程中使用SQL中的变量_Javascript_Sql_Azure Cosmosdb - Fatal编程技术网

Javascript 如何在Azure存储过程中使用SQL中的变量

Javascript 如何在Azure存储过程中使用SQL中的变量,javascript,sql,azure-cosmosdb,Javascript,Sql,Azure Cosmosdb,我需要一个每天运行一次的存储过程,对当天收集的数据进行度量计算。我将得到一个datetime,它相当于上一次运行该过程的时间(基本上是昨天),并希望得到自该时间以来添加的所有数据 下面的代码不起作用,因为它没有用字符串替换timestamp变量。是否有什么特别的原因来尊重这一点?我不想单独构建查询字符串,但如果需要,我会这样做 var timestamp = "Some Datetime String"; // Query documents and take 1st item. var is

我需要一个每天运行一次的存储过程,对当天收集的数据进行度量计算。我将得到一个datetime,它相当于上一次运行该过程的时间(基本上是昨天),并希望得到自该时间以来添加的所有数据

下面的代码不起作用,因为它没有用字符串替换timestamp变量。是否有什么特别的原因来尊重这一点?我不想单独构建查询字符串,但如果需要,我会这样做

var timestamp = "Some Datetime String";

// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
    collection.getSelfLink(),
    'SELECT * FROM root r WHERE r.dateadded > timestamp',
function (err, feed, options) {
    var jstr = JSON.stringify(element);
    data = JSON.parse(jstr);
    console.log(data["value"]);
});

您将它作为字符串传递,而不是变量

var timestamp = "Some Datetime String";

// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
    collection.getSelfLink(),
    "SELECT * FROM root r WHERE r.dateadded > " + timestamp,
function (err, feed, options) {
    var jstr = JSON.stringify(element);
    data = JSON.parse(jstr);
    console.log(data["value"]);
});
您可能希望参数化查询以避免sql注入

var timestamp = "Some Datetime String";

// Query documents and take 1st item.
var isAccepted = collection.queryDocuments(
    collection.getSelfLink(),
    {
        query: "SELECT * FROM root r WHERE r.dateadded > @timestamp",
        parameters: [ { "name":"@timestamp", "value":timestamp } ] 
    },
function (err, feed, options) {
    var jstr = JSON.stringify(element);
    data = JSON.parse(jstr);
    console.log(data["value"]);
});

哦,是的。我没有想到我可以内联连接。参数化也很好。