游标的使用-检索一个表的数据,插入到另一个表中

--声明一个变量,用于接收游标中一个字段的数据
declare @name varchar(50)
--声明游标my_Cursor
declare my_Cursor cursor
--从数据表中查询一列数据,存储到游标
for select NodeName from P_TreeMenu
--打开游标
OPEN my_Cursor
--返回紧跟当前行之后的结果行,并且当前行递增为结果行。
--如果 FETCH NEXT 为对游标的第一次提取操作,则返回结果集中的第一行。NEXT 为默认的游标提取选项。
FETCH NEXT FROM my_Cursor
--将提取操作的列数据放到局部变量中。
into @name
--@@FETCH_STATUS 返回被 FETCH 语句执行的最后游标的状态
--0 FETCH 语句成功; -1 FETCH 语句失败或此行不在结果集中; -2 被提取的行不存在。
IF @@FETCH_STATUS <> 0
????? PRINT "No Data."????

WHILE @@FETCH_STATUS = 0

BEGIN

insert into Operate([Name]) values(@name)
--继续向后循环
FETCH NEXT FROM my_Cursor INTO @name

END
--关闭游标
CLOSE my_Cursor
--删除游标引用
DEALLOCATE my_Cursor


?

你可能感兴趣的:(游标)