Einer der procedure
Wenn ausgeführt, wird die Ausführung der folgenden Anweisung fehlschlagen. Bitte. Lassen Sie mich wissen, wie der untenstehende Fehler behoben werden kann.
Error :
Meldung 11719, Ebene 15, Zustand 1, VerfahrenSeedDimProduct, Zeile 69 [Batch Start Line 2] Die Funktion NEXT VALUE FOR ist in Prüfeinschränkungen, Standardobjekten, berechneten Spalten, Ansichten, benutzerdefinierten Funktionen, benutzerdefinierten Aggregaten, benutzerdefinierten Tabellentypen, Unterabfragen, allgemeinen Tabellenausdrücken, abgeleiteten Tabellen oder Rückkehranweisungen nicht zulässig.
INSERT INTO dbo.DimProduct
(
[ProductKey]
,[ProductCode]
,[ProductCode]
,[ProductName]
,[ProductWaterfallGroupKey]
,[InsertExecutionID]
,[UpdateExecutionID]
,[DisplayOrder]
)
select distinct *
from (SELECT
NEXT VALUE FOR DBO.SQ_WATERFALL_PROD,
ProductCode = c.ResourceNo
,ProductCode = c.ProductID
,ProductName = p.[Product_NM]
,w.ProductWaterfallgroupkey
,InsertExecutionID = 0
,UpdateExecutionID = 0
,DisplayOrder = 0
FROM targit_Updated.[dbo].[FS_ContractTypeProduct_D] c
LEFT JOIN [DWSF].[dbo].[SF_Product_D] p ON c.ProductID = p.[Product_ID] COLLATE Latin1_General_CS_AS
JOIN #ProdWaterfallGrouping w on w.ReportingGroup= p.Reporting_Group_DSC) as x
Antworten:
0 für die Antwort № 1Es kann nicht in einer Unterabfrage sein, also verschieben Sie es:
INSERT INTO dbo.DimProduct
(
[ProductKey]
,[ProductCode]
,[ProductCode]
,[ProductName]
,[ProductWaterfallGroupKey]
,[InsertExecutionID]
,[UpdateExecutionID]
,[DisplayOrder]
)
select NEXT VALUE FOR DBO.SQ_WATERFALL_PROD, x.*
from (
select distinct *
ProductCode = c.ResourceNo
,ProductCode = c.ProductID
,ProductName = p.[Product_NM]
,w.ProductWaterfallgroupkey
,InsertExecutionID = 0
,UpdateExecutionID = 0
,DisplayOrder = 0
FROM targit_Updated.[dbo].[FS_ContractTypeProduct_D] c
LEFT JOIN [DWSF].[dbo].[SF_Product_D] p ON c.ProductID = p.[Product_ID] COLLATE Latin1_General_CS_AS
JOIN #ProdWaterfallGrouping w on w.ReportingGroup= p.Reporting_Group_DSC) as x