美文网首页
Oracle声明变量及变量使用(测试脚本)

Oracle声明变量及变量使用(测试脚本)

作者: 初初_1990 | 来源:发表于2019-11-29 11:58 被阅读0次

    Oracle测试脚本分为:变量声明和脚本两部分。

    下面以做过的实例举例说明:(向表A:t_white_list 中批量插入数据,且表A中字段BUSINESS_ID值取另一个表B:t_comm_member中的member_id字段;表A中字段WHITE_LIST_ID为uuid随机唯一值)

    ###编写思路:

    1.首先定义变量,在Declare下定义(表A,字段如下:)

        (1)WHITE_LIST_ID:uuid,变量;       >>uuid varchar2(40);

        (2)BUSINESS_ID:表t_comm_member中的member_id字段,变量;   >>由于该字段值从表B中批量取值,为数组类型,我们首先要先定义一个数组类型,再声明变量

            >> /*自定义数组类型,‘varchar(40)’是数组内元素的类型,‘index by binary_integer’表示数组内索引 */

            >> type array_type is table of varchar(40) index by binary_integer;

            >> m_array array_type;  /*声明变量 m_array ,类型为上面定义的类型*/

        (3)type:0 --表示用户,常量     >>tp number:= 0;

        (4)hospatal:医院id,常量       >>hospatal varchar2(40) := 'abcdefg123456';

        (5)create_date:创建时间,默认当前时间,格式:yyyy-MM-dd hh24:mm:dd,变量      >>currentdate date := sysdate;

    2.变量定义完成后,开始编写脚本

    查询表B,并将结果赋值给数组(查询表t_comm_member中member_id的值并作为数组赋值给上述声明的m_array变量)

    >>>select member_id  bulk collect  into m_array  from t_comm_member  where username like '16111%';

    3.使用for循环

    for i in 1 .. m_array.count loop

        --select查询get_uuid函数值并赋值给上述声明的uuid变量

        select get_uuid into uuid from dual;

        insert into t_white_list

          (WHITE_LIST_ID, BUSINESS_ID, TYPE, HOSPITAL_ID, CREATE_TIME)

        values

          (uuid, m_array(i), tp, hospatal, currentdate);

      end loop;

    到这里脚本完成,可批量插入数据。

    上述实例中学习了:常量、变量、数组的定义方式,字符串、整数类型定义方式,从其他表中查询数据并作为数组赋值给变量,uuid的取值,for循环等。

    相关文章

      网友评论

          本文标题:Oracle声明变量及变量使用(测试脚本)

          本文链接:https://www.haomeiwen.com/subject/rfgwwctx.html