sql server函数不允许return语句

时间:2015-06-18 07:55:08

标签: sql-server function return

我正在尝试在sql server中创建一个函数,但它一直告诉我:
带有返回值的RETURN语句不能在此上下文中使用。

我还有许多其他功能,它们都以return @variable结束。 所以我必须在这里做错事,我却无法看到它。

希望有人能够发现我在这里做错了所以我可以编写功能并完成它。

CREATE function fnGetToInvoiceLoads (@TruckID int, @ClientID int, @OpdrachtID int, @OpcID int, @VertrekIDs varchar(max), @BestemmingIDs varchar(max), @CarIDs varchar(max)) 
returns table 
as
begin
    declare @Table  table( RitChecked bit,
                           RitID int, 
                           ClientID int
                          ) 

    return @Table
end

2 个答案:

答案 0 :(得分:1)

看看这个例子......你仍然需要添加你的逻辑。但它应该给你一个提示。

CREATE FUNCTION dbo.fnGetToInvoiceLoads (@TruckID int, @ClientID int, @OpdrachtID int, @OpcID int, @VertrekIDs varchar(max), @BestemmingIDs varchar(max), @CarIDs varchar(max)) 
RETURNS @result 
    TABLE (RitChecked bit, RitID int, ClientID int)
AS
BEGIN
    -- Do your stuff....

    INSERT @result(RitChecked, RitID, ClientID)
        SELECT ....

   RETURN
END
GO

答案 1 :(得分:1)

试试这个:

CREATE function fnGetToInvoiceLoads (@TruckID int, @ClientID int, @OpdrachtID int, @OpcID int, @VertrekIDs varchar(max), @BestemmingIDs varchar(max), @CarIDs varchar(max)) 
    RETURNS @Table table --define @table here
    ( 
       RitChecked bit,
       RitID int, 
       ClientID int
    ) 
    AS
    BEGIN
        INSERT INTO @Table
        SELECT <some data>

        RETURN
    END