我要写一个存储过程对一批这样的表中的全部数据进行分析:
table_20050801,table_20050802,table_20050803,……table_20050831我考虑用游标,但由于表名不确定,不知如何下手?
我看了一下带参数的游标中是不允许表名为参数的,请高手指点:1.由于表名有规律,能否在一个循环中使用游标来实现?
2.或在存储过程中带参数,如何实现?
table_20050801,table_20050802,table_20050803,……table_20050831我考虑用游标,但由于表名不确定,不知如何下手?
我看了一下带参数的游标中是不允许表名为参数的,请高手指点:1.由于表名有规律,能否在一个循环中使用游标来实现?
2.或在存储过程中带参数,如何实现?
解决方案 »
- 数据库查询题
- 请教各位老大,如何将几个存储过程按顺序一次性调运
- 如何用oracle语句得到如下格式:可能需要点耐心
- 求有一定难度的SQL语法
- 江湖救急:帮我看看那里错了
- 初学者的问题,ORACLE的主流开发工具是什么?
- 如何把2003-5-27 11:44:16这个时间格式转换为YYYYMMDDHHMMSS的格式
- oracle 的关机方式
- 怎样新建oracle9i数据库文件?我是初学者。。。。
- Oracle 有没有求最大值的函数?SELECT MAX (1, 0, -1) FROM DUAL
- 分层查询问题 想得到根的所有根节点和叶子节点的值sql语句怎么写? 多谢!
- SQL*Plus WorkSheet 中如何将变量的值显示出来(解决即结贴)
顶下!
譬如:table_20050801,table_20050802,table_20050803,……table_20050831
v_aa varchar(50)(类似得值是20050801,20050802,20050803得变量)
sqlstr varchar(200);
type cur is ref cursor;
cr cur;sqlstr:='select * from table_'|| v_aa;open cr fro sqlstr;loop
fetch cr into ...
exit when cr%notfound;
...end loop;
csdn的人气很足啊,不过oracle这块好像差点。呵呵
你提供的方法不错,open cr for sqlstr 这种打开方式我以前不会的,太感谢了!to chw8219(寒冷夏天):
同感,呵呵