Sql server T SQL表值函数SQL46010::声明附近的语法不正确

Sql server T SQL表值函数SQL46010::声明附近的语法不正确,sql-server,tsql,Sql Server,Tsql,当我试图将其保存到SQL Server数据库时,我遇到了上述错误。有什么线索吗?Select distinct查询可以正常工作 CREATE FUNCTION [dbo].[fnGetSeqsInAllSegments] ( ) RETURNS @ret TABLE ( SequenceID int ) AS BEGIN insert @ret select distinct SequenceID from dbo.Segments where SequenceID

当我试图将其保存到SQL Server数据库时,我遇到了上述错误。有什么线索吗?Select distinct查询可以正常工作

CREATE FUNCTION [dbo].[fnGetSeqsInAllSegments]
(
)
RETURNS @ret  TABLE
(
    SequenceID int
)
AS
BEGIN
    insert @ret
     select distinct SequenceID from dbo.Segments where SequenceID in 
    ( 
        select  SequenceID from dbo.Segments
        group by SequenceID
        having count(DISTINCT SegmentID) = ( select count(*) from ( select distinct SegmentID from dbo.Segments ) AS A
    ))
    RETURN
END

更新:它只在SQL Server Data Tools 2015中抛出该错误。在SQL management studio中不执行此操作。

答案是使用SQL management studio,它只在SQL Server Data Tools 2015中抛出此错误。在SQL management studio中不执行此操作。

但您的代码中没有声明。。您的输入和预期输出是什么?看起来对于简单的需求,您有复杂的查询您确定这是您仅有的脚本吗?您的代码中没有
声明
。可能是脚本上方或下方的内容导致了问题?我知道,sql server数据工具中的错误