游标的使用-检索一个表的数据,插入到另一个表中
2005-05-09 19:32
309 查看
--声明一个变量,用于接收游标中一个字段的数据
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
?
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
?
相关文章推荐
- 【Sql Server】使用触发器把一个表中满足条件的数据部分字段插入到另一个表中
- postgresql 存储过程 把一个表的部分数据插入另一个表中(条件:传入的某些参数作为检索条件并且可能为空值)
- 一个表中数据插入到另一个表中
- sql 把一个数据库中的表数据 插入另一个数据库表中
- sql 将一个表中的数据插入到另一个表中
- sql service 触发器,监控一个表有新数据插入时,把这条数据再插到另一个表
- mysql查询一个表的数据插入另一个表
- 数据库怎样把一个表的数据插入到另一个表
- 将一个数组中的数据插入到另一个数组中
- 使用SQL游标进行循环插入数据
- C#使用OleDB操作ACCESS插入数据时提示:至少一个参数没有被指定值。
- MySql中把一个表的数据插入到另一个表中的实现代码
- 简单使用游标插入数据
- 【转】把一个表的数据插入到另一个表:INSERT INTO SELECT / SELECT INTO
- 将一个表的数据插入到另一个表中
- MySql中把一个表的数据插入到另一个表中的实现代码--转
- MySql中把一个表的数据插入到另一个表中的实现代码
- MySql 存储过程使用游标循环插入数据示例
- SQL如何将一个表的数据插入另一个表
- 使用管道流和多线程完成以下任务要求: 一个线程对象t1 会从控制台中不停的读取信息,读到之后把数据交给管道输出流,把数据写到管道里面 ,另一个线程对象t2 不停的使用管道输入流从管道