下面语句用于批量生成语句,生成后在sqlplus执行select 'select id,sum(result) from '||table_name||' group by id;' from user_tables where table_name like 'MRO_%_201702';
成都创新互联公司专业为企业提供永济网站建设、永济做网站、永济网站设计、永济网站制作等企业网站建设、网页设计与制作、永济企业网站模板建站服务,10余年永济做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
逐一修改写个存储过程吧。
话说你能查出来就写个update就批量修改了,不用逐一修改吧。
declare
teacher_name varchar(20)------------跟teacher表中老师名字类型保持一致
cursor t_name is select teachername from teacher---------申明游标t_name为从teacher表中查询老师名字
begin
open t_name;------打开游标t_name
loop-------开始循环(遍历)
fetch t_name into teacher_name-------将老师名字值赋予变量teacher_name
if t_name%found-------------开始遍历有值时插入以下数据
then
select name,count(*) into new_table
from table_teacher_student
where name=teacher_name group by name-----将一个老师名字依据条件插入新表数据
else
dmbs_output.put_line(‘完成所有工作’);---------遍历结束时输出完成工作
exit;
end if;
end loop;
仓促写下以上内容,可能部分语法报错,思路就是这样,很基本的一个游标使用。
数据库中有user_tab_columns和user_tables这两个表,你看看,可以解决的你问题。肿么没分
写个for循环就可以遍历一遍,例如meminfo 表中有member_id 你现在有的id需要在meminfo 中查询出现次数
declare
i number(5);
id number(15);
begin
for rec in(select member_id from meminfo) loop
if member_id=id
then i:=i+1;
end if;
end;
这样就会遍历一遍你的这个数据库