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

2015-11-21 01:42:31 · 作者: · 浏览: 3
表说明:酒店表,主要是存储一些不需要多语言的字段,酒店语言表,主要是存储酒店需要多语言的字段,包括酒店名称,酒店地址等。
?
功能说明:将酒店表中的名称字段,拼音字段,加上酒店多语言表当中的是英文的名称,组合插入到酒店的关键词字段中。
?
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

?