2

私は、Sybase ストア プロシージャの構文にあまり詳しくありません。文字列の連結でエラーが発生します:

create procedure calendarList
as
declare @city varchar(20)
declare @aus varchar(20)
declare @combined varchar(200)
declare @result varchar(200)

declare curs cursor for select distinct M_CTN from UnionCal for read only

open curs

fetch curs into @city

while (@@sqlstatus!=2)
begin
    declare curs2 cursor for
    select * from UnionCal where M_CTN=@city for read only  

    open curs2
    fetch curs2 into @aus

    while (@@sqlstatus!=2)
    begin
        @combined = @combined + ";" + @aus
        fetch curs2 into @aus
    end

    fetch curs into @city

    select @city,@aus 
    close curs2

end 

close curs

return

エラーは次の行にあります。

@combined = @combined + ";" + @aus

エラーメッセージはあまり役に立ちません:

メッセージ 102、レベル 15、状態 1 サーバー 'DS_LN_D01_X0427'、プロシージャ 'calendarList'、行 24 '@combined' 付近の構文が正しくありません。

どうやら、文字列を正しい方法で連結していないようです。何か案は?

Sybase 12 を使用しています。

4

1 に答える 1

4

そのコマンドの前にSELECTorを追加するだけです。SET

SELECT @combined = @combined + ";" + @aus

また

SET @combined = @combined + ";" + @aus
于 2012-06-15T16:27:24.337 に答える