在某些场景下我们可能需要生成一些随机数据,比如在测试环境中生成手机号、电子邮件地址等数据用来进行功能测试。或者将生产的数据导入到测试环境中,进行简单的脱敏处理。这是我在DBMS_RANDOM的基础上进行扩展开发的能够生成:
- 手机号码
- 电话号码
- 电子邮件
- 身份证号
- 银行卡号
- 住址
的一个Oracle Package,有兴趣的朋友可以从这里下载:http://pan.baidu.com/s/1pJBkVyF
当然限于个人能力等原因,还有许多不足,恳请指正。
生成随机手机号码:
点击(此处)折叠或打开
- BEGIN
- FOR f IN 1..30
- LOOP
- DBMS_OUTPUT.PUT_LINE (uext_random.random_mobile);
- END LOOP;
- END;
- /
生成随机电话号码:
点击(此处)折叠或打开
- BEGIN
- FOR f IN 1..30
- LOOP
- DBMS_OUTPUT.PUT_LINE (uext_random.random_phone);
- END LOOP;
- END;
- /
生成随机电子邮件:
点击(此处)折叠或打开
- BEGIN
- FOR f IN 1..30
- LOOP
- DBMS_OUTPUT.PUT_LINE (uext_random.random_email(‘@test.sinatay.com‘));
- END LOOP;
- END;
- /
生成随机身份证号:
点击(此处)折叠或打开
- BEGIN
- FOR f IN 1..30
- LOOP
- DBMS_OUTPUT.PUT_LINE (uext_random.random_idnum);
- END LOOP;
- END;
- /
生成随机银行卡号:
点击(此处)折叠或打开
- BEGIN
- FOR f IN 1..30
- LOOP
- DBMS_OUTPUT.PUT_LINE (uext_random.random_bankcard);
- END LOOP;
- END;
- /
生成随机住址:
点击(此处)折叠或打开
- BEGIN
- FOR f IN 1..30
- LOOP
- DBMS_OUTPUT.PUT_LINE (uext_random.random_addr);
- END LOOP;
- END;
- /
生成随机数据尽可能的符合真实规则,比如随机生成身份证号610923197108235117,通过百度应用身份证查询工具,只是最后一位存在错误:
Enjoy!
时间: 2024-10-05 04:44:47