次のコードがあります。
WITH OrderedOrders AS
(
SELECT *, ROW_NUMBER() OVER (ORDER BY item) AS RowNumber
from dbo.fnSplit('1:2:3:5', ':')
)
select * from OrderedOrders where rownumber =2
このコードを関数内で実行する必要がありますが、構文を正しくすることはできません。現在の様子は次のとおりです。
CREATE FUNCTION [dbo].[FN_INDICE_SPLIT]
(@sInputList VARCHAR(8000),@sDelimiter VARCHAR(8000),@INDICE INT)
RETURN TABLE
;WITH OrderedOrders AS
(
SELECT *, ROW_NUMBER() OVER (ORDER BY item) AS RowNumber
from dbo.fnSplit(@sDelimiter, @INDICE)
)
select ITEM from OrderedOrders where RowNumber=@INDICE
これを実行しようとすると、次のエラーが表示されます。
Msg 156, Level 15, State 1, Procedure FN_INDICE_SPLIT, Line 4
Incorrect syntax near the keyword 'RETURN'.
これをさまざまな方法で実行しようとしましたが、構文エラーが発生し続け、何が問題なのかわかりません。