plsql使用存储过程添加数据

在系统性能测试中,常常会使用到存储过程往数据库中灌入大量的数据,用于模拟系统在真实的环境下的性能,以下将分享在评价库添加1w条数据的脚本。

下图为表结构:

declare
  wid integer;--评价ID
  SERVICE_MANNER integer;--服务态度得分,取值范围1~5
  SERVICE_SPEED integer;--办事速度得分
  TOTAL_SATISFY integer;--整体满意度得分
  EVENT_INTEGRITY integer; --事项完整度得分
  MARK number(2,1);--总平均评分,取一位小数
  Item_Wid VARCHAR2(100);--事项ID
  user_id integer;--用户ID
  user_name1 varchar(20);--用户姓名
  time1 varchar(32);--评价提交时间
  nums integer := 0; --计数器
begin
  while nums <10--循环10次
  loop
    SERVICE_MANNER := trunc(dbms_random.value(1,6));--获取1~5之间的一个随机整数
    SERVICE_SPEED := trunc(dbms_random.value(1,6));
    TOTAL_SATISFY := trunc(dbms_random.value(1,6));
    EVENT_INTEGRITY := trunc(dbms_random.value(1,6));
    MARK := (SERVICE_MANNER+SERVICE_SPEED+TOTAL_SATISFY+EVENT_INTEGRITY)/4;--求评价平均值
    --随机获取一条事项ID
    select wid into item_wid from (select  wid  from T_SIM_ITEM_INFO order by dbms_random.value) where rownum <= 1;
    --获取new_casp_minos用户下的T_TF_USER表中的wid字段并赋值给user_id
    select wid into user_id from (select * from new_casp_minos.T_TF_USER order by dbms_random.value) where rownum <= 1;
    --获取new_casp_minos用户下的T_TF_USER表中的user_name字段并赋值给user_name1
    select user_name into  user_name1 from new_casp_minos.T_TF_USER where wid = user_id;
    --获取2021.03.01至2021.06.23之间的一个随机时间并赋值给time1
    SELECT to_date(TRUNC(DBMS_RANDOM.VALUE(to_number(to_char(to_date('20210301','yyyymmdd'),'J')),to_number(to_char(to_date('20210623','yyyymmdd') + 1,'J')))),'J')
                      + (TRUNC(DBMS_RANDOM.VALUE(9,17))*3600+TRUNC(DBMS_RANDOM.VALUE(0,60))*60 
                      + TRUNC(DBMS_RANDOM.VALUE(0,60)))/(24*60*60)
                          into time1
      FROM dual;
    --插入数据
    insert into T_SIM_ITEM_APPRAISE(wid,Item_Wid,SERVICE_MANNER,SERVICE_SPEED,TOTAL_SATISFY,EVENT_INTEGRITY,MARK,USER_ID,USER_NAME,CREATE_TIME,IS_DELETED,IS_HIDDEN)
    values (989789001+nums,item_wid,SERVICE_MANNER,SERVICE_SPEED,TOTAL_SATISFY,EVENT_INTEGRITY,MARK,user_id,user_name1,time1,0,0);
    nums := nums+1;--次数加一
  end loop;
end;

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PL/SQL中调试存储过程可以通过PL/SQL Developer工具来实现。首先,确保PL/SQL Developer软件已经安装并且版本适配。然后,根据需要选择调试方法。 方法一是在SQL窗口中输入存储过程的代码或者在对象列表中找到对应的存储过程,然后右键选择测试。这样会自动生成测试脚本。另外,也可以新建测试窗口,手动输入测试语句。在生成测试语句后,需要对存储过程点击右键,选择添加调试信息。\[2\] PL/SQL Developer工具提供了强大的调试功能,可以与其他编程语言的IDE相媲美。通过调试功能,可以方便地排查存储过程调用报错或者其他对象的调用报错。这样可以避免完全依赖个人经验去排查问题,提高开发效率。\[3\] 需要注意的是,如果在PL/SQL Developer中使用多路会话方式进行调试,可能会出现卡死的情况。这是因为在RAC环境中,PL/SQL Developer每次新增一个会话时,数据会根据自身情况随机分配到不同的实例。如果调试和运行的会话被分配到不同的实例,就会出现卡死的情况。因此,在调试存储过程时,需要注意会话的配置方式。\[1\] #### 引用[.reference_title] - *1* *2* *3* [PLSQL存储过程调试](https://blog.csdn.net/yuchen488/article/details/108753639)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值