我想写这样的一个存储过程
首先建立一个临时表
再再向这个临时表中插入数据
然后修改插入的这个记录中的某一个属性的值
最后用游标打开这个临时表
请问怎么弄?能不能给我写一下。
首先建立一个临时表
再再向这个临时表中插入数据
然后修改插入的这个记录中的某一个属性的值
最后用游标打开这个临时表
请问怎么弄?能不能给我写一下。
解决方案 »
- 请问怎么开启闪回?
- Oracle建表时为什么提示“ORA-00972:标识符过长”
- 关于导出数据库中blob字段中图片的问题!!!!!!!!!!
- 请教存储过程调用
- 配置Oracle AS服务后服务不能启动。
- oracle 中的自定义函数迁移到mysql的问题
- 高手帮帮忙!!先谢谢勒 !!
- 请问哪里有Oracle9i的电子教程下载?
- 请教各位一个有关数据库连接的简单问题
- /oracle/oradata/orcl/下文件全部删除,有rman备份,怎么恢复数据库
- 求一SQL语句(好像是叫做交叉表吧)
- *************************觸發器問題************************
is
type t_pat_cur is ref cursor;
cur t_pat_cur;
type t_rowid_rec is table of number index by binary_integer;
rec t_rowid_rec;
i number := 0;
v_sql varchar2(2000) := 'select * from test';
begin
execute immediate 'create table test(id number)';
commit;
while i < 10 loop
execute immediate 'insert into test values('||i||')';
i := i + 1;
end loop;
open cur for v_sql;
close cur;
end;
/
is
type t_pat_cur is ref cursor;
cur t_pat_cur;
type t_rowid_rec is table of number index by binary_integer;
rec t_rowid_rec;
i number := 0;
n_fetch_cnt number := 0;
v_sql varchar2(2000) := 'select id from test';
begin
execute immediate 'create table test(id number,name varchar2(20))';
commit;
while i < 10 loop
execute immediate 'insert into test values('||i||',''AA'')';
i := i + 1;
end loop;
open cur for v_sql;
loop
fetch cur bulk collect into rec limit 10000;
if cur%rowcount > n_fetch_cnt
then
forall i in rec.first..rec.last
execute immediate 'update test set name = ''Tom'' where id = :1'
using rec(i); n_fetch_cnt := n_fetch_cnt + sql%rowcount;
end if;
exit when cur%notfound;
end loop;
close cur;
end;
/execute proc;
is
type t_pat_cur is ref cursor;
cur t_pat_cur;
type t_rowid_rec is table of number index by binary_integer;
rec t_rowid_rec;
i number := 0;
v_sql varchar2(2000) := 'select * from test';
begin
execute immediate 'create table test(id number)';
commit;
while i < 10 loop
execute immediate 'insert into test values('||i||')';
i := i + 1;
end loop;
open cur for v_sql;
close cur;
end;
/