Possible Duplicate:
Getting error in SQL query with function use出錯創建SQL Server中的功能2008
我得到試圖創建一種功能,當這個錯誤:
'CREATE FUNCTION' must be the first statement in a query batch.
Error:
Incorrect syntax near the keyword 'with'.
If this statement is a common table expression, an xmlnamespaces clause or a change tracking context clause, the previous statement must be terminated with a semicolon. Must declare the scalar variable "@sep".
這是我的T-SQL代碼:
CREATE FUNCTION [dbo].[fn_Split] (@sep nvarchar(10), @s nvarchar(4000))
RETURNS table
AS
RETURN (
WITH Pieces(pn, start, stop) AS (
SELECT 1, 1, CHARINDEX(@sep, @s)
UNION ALL
SELECT pn + 1, stop + (datalength(@sep)/2), CHARINDEX(@sep, @s, stop + (datalength(@sep)/2))
FROM Pieces
WHERE stop > 0
)
SELECT pn,
SUBSTRING(@s, start, CASE WHEN stop > 0 THEN stop-start ELSE 4000 END) AS value
FROM Pieces
)
;
這和你的[上一個問題]有什麼不同?( http://stackoverflow.com/questions/12623142/getting-error-in-sql-query-with-function-use)? –
這不僅僅是「與之前相關」 - 這完全是同一個問題。而且你甚至不打算包含從你那裏精心收集到的任何有用信息(即,這不是從管理工作室運行的腳本,而是從C#應用程序運行此代碼) –
由於方便搜索者,是否可以在標記爲重複的消息框中包含前一個問題的鏈接?達米恩非常友善,在他的評論中包含了這個鏈接,但這不是一貫的做法。 – EoRaptor013