/ / Błąd procedury składowanej podczas zapełniania wartości sekwencją - serwer sql, tsql

Błąd w procedurze przechowywanej podczas zapełniania wartości przez sekwencję - sql-server, tsql

Jeden z procedure gdy wykonanie nie powiedzie się podczas wykonywania poniższej instrukcji. Proszę. daj mi znać, jak naprawić poniższy błąd.

Błąd:

Msg 11719, poziom 15, stan 1, proceduraSeedDimProduct, wiersz 69 [Początek partii 2] NASTĘPNA WARTOŚĆ DLA funkcji nie jest dozwolona w ograniczeniach sprawdzania, obiektach domyślnych, kolumnach obliczeniowych, widokach, funkcjach zdefiniowanych przez użytkownika, agregacjach zdefiniowanych przez użytkownika, typach tabel zdefiniowanych przez użytkownika, zapytaniach podrzędnych, wspólnych wyrażeniach tabelowych, tabelach pochodnych lub instrukcjach return.

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

Odpowiedzi:

0 dla odpowiedzi № 1

Nie może być w podzapytaniu, więc przenieś go:

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