或许建立一个视图就能解决了create or replace view v_tt as
select field1 , field2 ,field3, field4,field2-field1 v1,field4-field3 v2
from tt;tt_rec tt%rowtype;
v1 number;
v2 number;cursor test_cur is select from tt where ..;
while test_cur%found loop
fetch test_cur into tt_rec
v1 := tt_rec.v1;
v2 := tt_rec.v2;
....
end loop;
select field1 , field2 ,field3, field4,field2-field1 v1,field4-field3 v2
from tt;tt_rec tt%rowtype;
v1 number;
v2 number;cursor test_cur is select from tt where ..;
while test_cur%found loop
fetch test_cur into tt_rec
v1 := tt_rec.v1;
v2 := tt_rec.v2;
....
end loop;
解决方案 »
- 错误信息: ORA-12801、ORA-00600。请问各大虾这是什么原因呢?
- 求Oracle一个自定义函数的写法:sql2000里的isnull(pa,pb)在oracle自定义函数
- 我在xp下安装Oracle 9i为什么只好使了2次就不好用了呢!?
- 在打开sqlplus是用system/manager登陆时出现ORA-27101错误?怎么解决?
- 请推荐几本好的入门书,Oracle8i版本,可以从网上下载的。谢谢。
- 550万记录的表
- 小弟今天第一次接触ROACLE,请教,建数据库怎么键啊?送高分
- 急聘:J2EE项目负责两名,Java高程5名,营销人员20名
- 请看看这样修改用户临时表空间,对吗?
- 在oracle中如何建立和使用临时表,就像sybase那样?
- oracle驱动问题求教
- 在执行一段查询后插入语句的时候报错
tt_rec tt%rowtype;
v1 number;
v2 number;
cursor test_cur is
select *,field2-field1,field4-field3 from tt where ..;
begin
open test_cur;
fetch test_cur into tt_rec,v1,v2;
while test_cur%found loop
... ...
fetch test_cur into tt_rec,v1,v2;
end loop;
end;
/参考一下。
你定义的视图好象没用上啊。
我的意识是想将tt表中每条记录的所有字段及其中的某几个字段相减赋给定义好的变量。
在线!
v1 number;
v2 number;cursor test_cur is select from v_tt where ..;
while test_cur%found loop
fetch test_cur into tt_rec
v1 := tt_rec.v1;
v2 := tt_rec.v2;
....
end loop;这下就行了~
tt_rec v_tt%rowtype;
v1 number;
v2 number;
str varchar2(100);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME ON COMMIT PRESERVE ROWS AS select tt.*,field2-field1,field4-field3 from tt where ..';
execute immediate str;
insert into TABLENAME select tt.*,field2-field1,field4-field3 from tt where ..;
select ... into tt_rec,v1,v2 from TABLENAME where....;
dbms_output.put_line(tt_rec||' '||v1||' '||v2);
end;
/