/ / Fehler in gespeicherter Prozedur beim Auffüllen der Werte durch sequence - sql-server, tsql

Fehler in der gespeicherten Prozedur beim Auffüllen der Werte durch die Sequenz - sql-server, tsql

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 № 1

Es 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