游标的语法,在说明书上 是有的。重要的是怎么去理解。
我的理解,可能不是很对,但是对我很有用。
比如:一个奶茶店,很多客人去买奶茶。客人就需要排队,每个客人就是一个键,队伍就是游标。
创建一个游标,就是给客人排个队,每个客人是一个变量,如下@sqla。
把客人范围放到队伍里: declare m_cursor cursor scroll for
select sqla from #Table_SQL
for update
第一个客人: fetch next from m_cursor into @sqla
判断还有没有客人: while @@FETCH_STATUS=0
给客人服务做奶茶:set @Sql1=(select sqla from #Table_SQL where sqla=@sqla)
EXEC(@Sql1)
update #Table_SQL set jlzt=1 where sqla=@sqla
下一位客人:fetch next from m_cursor into @sqla
服务完成: close m_cursor
deallocate m_cursor
完整的语法如下:
declare m_cursor cursor scroll for
select sqla from #Table_SQL
for update
open m_cursor
DECLARE @Sql1 VARCHAR(1000)
DECLARE @sqla varchar(1000)
fetch next from m_cursor into @sqla
while @@FETCH_STATUS=0
begin
set @Sql1=(select sqla from #Table_SQL where sqla=@sqla)
EXEC(@Sql1)
update #Table_SQL set jlzt=1 where sqla=@sqla
fetch next from m_cursor into @sqla
end
close m_cursor
deallocate m_cursor
end
请大神优化指导。