【问题标题】:Select statements included within a function cannot return data to a client函数中包含的 Select 语句无法将数据返回给客户端
【发布时间】:2012-02-26 05:29:25
【问题描述】:

T-SQL 大师,是什么导致以下过程返回此错误“函数中包含的选择语句无法将数据返回给客户端。”?

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 语句。

【问题讨论】:

标签: sql sql-server tsql sql-function


【解决方案1】:

会是这条线吗?

fetch next from arrival_cursor;

它应该被提取到@arrival_time

【讨论】:

    【解决方案2】:

    这里:

    fetch next from arrival_cursor;
    

    你需要

    fetch next from arrival_cursor into @arrival_time;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-04
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多