0

T-SQLの専門家、次のプロシージャがこのエラーを返す原因は何ですか?「関数に含まれるSelectステートメントはクライアントにデータを返すことができません。」?

create function dbo.func_get_times_for_stop(@stopId as varchar(5))
returns varchar(max) as
begin 
    declare @arrival_times varchar(max)
    set @arrival_times = '';
    declare @arrival_time varchar(5)
    declare arrival_cursor cursor for
        select arrival from schedules where stopid=@stopId;

    open arrival_cursor;
    fetch next from arrival_cursor;
    while @@fetch_status = 0
       begin
          fetch next from arrival_cursor into @arrival_time;    
          set @arrival_times += ',' + @arrival_time;    
       end;
    close arrival_cursor;
    deallocate arrival_cursor;

    return  @arrival_times;
end;

到着時刻から連結された文字列を含むスカラーを返そうとしているだけです。selectステートメントをどこに返しているのかわかりません。

4

2 に答える 2

3

この行でしょうか?

fetch next from arrival_cursor;

にフェッチする必要があります@arrival_time

于 2012-02-26T05:34:54.247 に答える
1

ここ:

fetch next from arrival_cursor;

あなたが必要

fetch next from arrival_cursor into @arrival_time;
于 2012-02-26T05:37:22.467 に答える