请问ORACLE 的游标程序,如何把取得的一些条件值放入游标,然后循环传给下面的程序,如MS-SQL的这种写法
DECLARE P CURSOR FOR select MD001,MD003 from INVMB WHERE MD003=1001
OPEN P
FETCH NEXT FROM P INTO @MD001,@MD003
WHILE @@FETCH_STATUS = 0
BEGIN insert into BOMMDT01
select MD001,MD003 from INVMB
Where MD003=@MD001
DECLARE P CURSOR FOR select MD001,MD003 from INVMB WHERE MD003=1001
OPEN P
FETCH NEXT FROM P INTO @MD001,@MD003
WHILE @@FETCH_STATUS = 0
BEGIN insert into BOMMDT01
select MD001,MD003 from INVMB
Where MD003=@MD001
解决方案 »
- 误删undo表空间数据文件,删除不了undo表空间,求解!
- 求高手解决 在centOS下安装oracle 出错 帮忙请指导下 谢谢
- oracle做DBLINK查询后,为什么要roll back呢?
- 菜鸟求助 oracle数据库更新
- 这个SQL怎么样写
- linux5 64位的服务器上oracle的客户端版本有没有?
- 求教:"备份数据库中A表,然后还原到另一个数据库的B表中",备份语句如果写?
- 如何在oracle中使用vc中定义的缓冲区?
- 哪位大虾在SQL LOADER 里面用过case语句,他的语法是怎么样的
- ora92 TNSListener 不能成功启动
- 求小数点加法问题 急急急急.........
- oracle dblink 无法插入远程服务器问题
http://space.itpub.net/16179598/viewspace-664455
同样是
open emp_cur;
fetch emp_cur into emp_row;
while emp_cur%found
loop
end loop
close emp_cur
lz可以参考以下 游标,依样画葫芦一下
SQL> show user;
USER 为 "SCOTT"
SQL> ed
已写入 file afiedt.bufSQL> set serveroutput onSQL> ed
已写入 file afiedt.buf 1 DECLARE
2 cursor cur_emp is
3 SELECT ename FROM emp;
4 staffname scott.emp.ename%type;
5 BEGIN
6 open cur_emp;
7 loop
8 fetch cur_emp INTO staffname;
9 exit when cur_emp%notfound;
10 dbms_output.put_line(staffname);
11 END loop;
12 close cur_emp;
13* END;
SQL> /
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
KING
TURNER
JAMES
FORD
MILLERPL/SQL 过程已成功完成。SQL>