我正在处理相当长的视图,其中一个 SQL 语句调用了标量函数,这确实降低了性能。以下是在 select 语句中调用的函数。(SQL Server 2016)
真的不确定修改这个过程的最佳方法。
简化的选择语句。
Select vendorpartid,
dbo.ufn_StockUomQuantityToOrder(vpp.priorityLevel, vpp.monthlyUsageRate, vpp.minimumPurchaseUomOrderQuantity, vpp.purchaseUomConversionFactor, vpp.orderFrequencyDays, vpp.boxQuantity) stockUomQuantityToOrder
FROM vendorpartpriority vpp
ALTER FUNCTION [dbo].[ufn_StockUomQuantityToOrder] (
@priorityLevel decimal(38, 10),
@monthlyUsageRate decimal(38,10),
@minimumPurchaseUomOrderQuantity decimal(38, 10),
@purchaseUomConversion decimal(38, 10),
@orderFrequencyDays decimal(38,10),
@boxQuantity int
)
RETURNS int
WITH SCHEMABINDING
AS
-- Calculate the quantity that needs to be ordered
BEGIN
DECLARE @quantityToOrderDecimal decimal(38, 10) = NULL;
DECLARE @quantityToOrderInt int = NULL;
DECLARE @orderFrequencyMinimumQuantity decimal(38, 10) = NULL;
DECLARE @minimumStockUomOrderQuantity decimal(38,10) = NULL;
--set the …Run Code Online (Sandbox Code Playgroud) 我在将数据导入 SQL Server 2008 数据库时遇到问题。
如果我在 SSMS 中执行以下语句,它工作正常。
INSERT INTO
[dbo].[ObjectiveRatingTranslation]
(
[ObjectiveRatingId]
, [TranslationId]
, [Abbreviation]
, [RateName]
, [Description]
, [CreatedBy]
, [CreatedOn]
, [ModifiedBy]
, [ModifiedOn]
)
VALUES
(
3
, 29
, N'O / T'
, N'På målet'
, N'Målet har slutförts i enlighet med detta förväntningar. Uppfyller de slutprodukter som definieras. Det förväntas att de flesta mål bör vara Topplista på denna nivå.'
, 0
, '2012-03-27T11:49:43.2300000'
, 0
, '2012-03-27T11:49:43.2300000'
)
Run Code Online (Sandbox Code Playgroud)
如果我在 VS 2010 …