当前位置: 代码迷 >> Sql Server >> 游标的应用,一个很小功能,做一下记录
  详细解决方案

游标的应用,一个很小功能,做一下记录

热度:31   发布时间:2016-04-24 08:56:18.0
游标的应用,一个小小的功能,做一下记录

表说明:酒店表,主要是存储一些不需要多语言的字段,酒店语言表,主要是存储酒店需要多语言的字段,包括酒店名称,酒店地址等。

功能说明:将酒店表中的名称字段,拼音字段,加上酒店多语言表当中的是英文的名称,组合插入到酒店的关键词字段中。

DECLARE hotelCur CURSOR FOR SELECT ID,PinYin,Name FROM tb_hotel_info OPEN hotelCur declare @ID intdeclare @Pinyin nvarchar(500)declare @Name nvarchar(500)FETCH NEXT FROM hotelCur into @ID,@Pinyin,@Name     while @@fetch_status=0begin    declare @NameEn nvarchar(800)    declare @result nvarchar(1000)    select @NameEn=Name_new from tb_Hotel_Info_Lang where Hotel_ID=@ID and Lang='en-us'    if @Name<>''    begin        set @result=@Name    end    if @Pinyin<>''        set @result=@result+' '+@Pinyin;    if @NameEn<>''        set @result=@result+' '+@NameEn    update tb_hotel_info set KeyWords=@result where ID=@ID    FETCH NEXT FROM hotelCur into @ID,@Pinyin,@Name     endclose hotelCurdeallocate hotelCur

 

1楼sqlfans
你用CASE WHEN 结合函数就可以一句SQL语句搞定。
  相关解决方案