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

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

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

DECLARE hotelCur CURSOR FOR 
SELECT ID,PinYin,Name FROM tb_hotel_info 
OPEN hotelCur 
declare @ID int
declare @Pinyin nvarchar(500)
declare @Name nvarchar(500)
FETCH NEXT FROM hotelCur into @ID,@Pinyin,@Name     
while @@fetch_status=0
begin
    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     
end
close hotelCur
deallocate hotelCur

 

posted on 2015-09-09 14:35  aXinNo1  阅读(565)  评论(1编辑  收藏  举报