Как использовать переменные в SQL в хранимой процедуре Azure - PullRequest
0 голосов
/ 28 сентября 2018

Мне нужна хранимая процедура, которая запускается один раз в день, выполняя некоторые метрические вычисления для данных, собранных в этот день.Я собираюсь получить дату и время, эквивалентные времени последнего запуска процедуры (в основном, вчера), и хочу получить все данные, которые были добавлены с того времени.

Код ниже победилне работает, потому что она не заменяет переменную 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"]);
});

1 Ответ

0 голосов
/ 29 сентября 2018

Вы передаете его как строку, а не как переменную.

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"]);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...