在oracle如何产生一列总和不变的随机数

前端之家收集整理的这篇文章主要介绍了在oracle如何产生一列总和不变的随机数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
--中间表 create table wei_test01 as select 1 as sss from dual; --结果表 create table wei_test02 as select * from wei_test01 where 1 = 2; --存储过程 --输入 times 客户输入数量 create or replace procedure random_w( times in number,v_out out varchar2) as v_sum number; begin v_out := 1; --初始化输出值 1 为正常 execute immediate 'truncate table wei_test01'; execute immediate 'truncate table wei_test02'; commit; for i in 1 .. times loop insert into wei_test01 select dbms_random.value from dual; commit; end loop; select sum(sss) into v_sum from wei_test01; insert into wei_test02 select sss*(10/v_sum) from wei_test01;-- 这里的 总和为10 自己设置 commit; end random_w; -- 测试结果表的总和 select sum(sss) from wei_test02; -- 测试结果表的总数 select count(1) from wei_test02; 原文链接:https://www.f2er.com/oracle/208214.html

猜你在找的Oracle相关文章