SQL组合如何循环执行求助(思路求助)

「已注销」 2018-01-29 03:36:59
比如我想进行测试性能的测试,但是一遍两遍测试结果代表不了什么,下面这个测试过程我想测试5000回,手动一次一次很显然做不到,怎样才能把这些自动化。
1、创建序列
2、增加表ID列
3、UPDATE自增 列
4、删除ID列
5、删除序列
我的目的是为了找到思路,想算出SQL执行语句时间并输出求值平均值(UPDATE 5000次的平均更新每次几秒)
我尝试使用过程和游标但是仔细一想游标每行都会循环,不符合我UPDATE修改一整列的方式,存储过程也失败
希望大神之处一些指点,下面是我一个大体思路,没有可行之处
Begi
循环5000次
create sequence test_ones start with 1 increment by 1 maxvalue 99999 minvalue 0 Nocache;--创建序列
alter table SD_ONE add (ID number);--增加ID列
update SDSH_ONE set ID=test_ones.nextval;--更新ID列(序列自增)
select test_ones.currval into checkvalues from dual;--查询序列当前值并且赋值给变量
If checkvalues == 100000 then--做数据库校检,等于的数值是表的行数
alter table SDSH_ONE drop column ID;
Drop sequence test_ones;
else
dbms_output.put_line('Error -->' ||'校检不成功');
--退出
End if;
End loop;
end;
以上代码不完只是代表本人逻辑更达不到获取SQL动作时长保存记录,希望以前做过批量SQL性能语句测试的大神给点帮助谢谢!!!
...全文
202 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-01-29
  • 打赏
  • 举报
回复
alter table SDSH_ONE drop column ID; Drop sequence test_ones; execute immediate 'alter table SDSH_ONE drop column ID'; execute immediate 'Drop sequence test_ones';
「已注销」 2018-01-29
  • 打赏
  • 举报
回复
谢谢大家!!

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧