Popup Script,
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
if (request.subject == 'SOME_SUBJECT') {
console.log(request.data);
sendResponse("response");
}
else if (request.subject == 'OTHER_SUBJECT') {
console.log(request.data);
sendResponse("response");
}
});
Content Script,
chrome.runtime.sendMessage({
subject: "SOME_SUBJECT",
data: {
name: "Roar"
}
}, function (response) {
console.log(response)
});
Издержки являются Вашей скалярной функцией.
TVF здесь расширен как встроенный макрос так
SELECT * FROM [dbo].[tdf] (getdate())
становится
SELECT idProduct, SUM(Quantity) AS TotalQuantity, max(Date) as LastDate
FROM POC
WHERE Date < getdate()
GROUP BY idProduct
При использовании конца дневной скалярной функции SQL не может оценить EOD (GETDATE ()) как константа. Я не могу найти свою статью быстро о том, как SQL оценивает этот материал, извините.
Я предполагаю, что это оценивается для каждой строки, не заранее, как Вы хотите.
Я был бы calulate оператор EOD отдельно:
DECLARE @eod datetime;
SET @eod = dbo.EndOfDay(getdate());
SELECT * FROM [dbo].[tdf] (@eod)
Я также использовал бы это для функции EOD:
DATEADD(second, -1, DATEADD(day, 1, (DATEDIFF(day, 0, @date))))
Вы также можете переписать EndOfDay как встроенный UDF и использовать вложенные встроенные UDF. Примеры:
Многие вложенные встроенные пользовательские функции выполняются очень быстро.
Расчет третьей среды месяца с помощью встроенных пользовательских функций