用dba用户查询
select * from dba_objects where object_Name=  'DBMS_RANDOM'
是否存在这个DBMA_RANDOM这个包
然后
insert into table (,,) values (dbms_random.value(1,20),);然后把这条语句放在一个包的循环体里面!~

解决方案 »

  1.   

    若是没有这个包!
    用sys用户执行以下脚本:
      CREATE OR REPLACE PACKAGE SYS.dbms_random AS    ------------
        --  OVERVIEW
        --
        --  This package should be installed as SYS.  It generates a sequence of
        --  random 38-digit Oracle numbers.  The expected length of the sequence
        --  is about power(10,28), which is hopefully long enough.
        --
        --------
        --  USAGE
        --
        --  This is a random number generator.  Do not use for cryptography.
        --  For more options the cryptographic toolkit should be used.
        --
        --  By default, the package is initialized with the current user
        --  name, current time down to the second, and the current session.
        --
        --  If this package is seeded twice with the same seed, then accessed
        --  in the same way, it will produce the same results in both cases.
        --
        --------
        --  EXAMPLES
        --
        --  To initialize or reset the generator, call the seed procedure as in:
        --      execute dbms_random.seed(12345678);
        --    or
        --      execute dbms_random.seed(TO_CHAR(SYSDATE,'MM-DD-YYYY HH24:MI:SS'));
        --  To get the random number, simply call the function, e.g.
        --      my_random_number BINARY_INTEGER;
        --      my_random_number := dbms_random.random;
        --    or
        --      my_random_real NUMBER;
        --      my_random_real := dbms_random.value;
        --  To use in SQL statements:
        --      select dbms_random.value from dual;
        --      insert into a values (dbms_random.value);
        --      variable x NUMBER;
        --      execute :x := dbms_random.value;
        --      update a set a2=a2+1 where a1 < :x;    -- Seed with a binary integer
        PROCEDURE seed(val IN BINARY_INTEGER);
        PRAGMA restrict_references (seed, WNDS);    -- Seed with a string (up to length 2000)
        PROCEDURE seed(val IN VARCHAR2);
        PRAGMA restrict_references (seed, WNDS);    -- Get a random 38-digit precision number, 0.0 <= value < 1.0
        FUNCTION value RETURN NUMBER;
        PRAGMA restrict_references (value, WNDS);    -- get a random Oracle number x, low <= x < high
        FUNCTION value (low IN NUMBER, high IN NUMBER) RETURN NUMBER;
        PRAGMA restrict_references (value, WNDS);    -- get a random number from a normal distribution
        FUNCTION normal RETURN NUMBER;
        PRAGMA restrict_references (normal, WNDS);    -- get a random string
        FUNCTION string (opt char, len NUMBER)
              /* "opt" specifies that the returned string may contain:
                 'u','U'  :  upper case alpha characters only
                 'l','L'  :  lower case alpha characters only
                 'a','A'  :  alpha characters only (mixed case)
                 'x','X'  :  any alpha-numeric characters (upper)
                 'p','P'  :  any printable characters
              */
            RETURN VARCHAR2;  -- string of <len> characters (max 60)
        PRAGMA restrict_references (string, WNDS);    -- Obsolete, just calls seed(val)
        PROCEDURE initialize(val IN BINARY_INTEGER);
        PRAGMA restrict_references (initialize, WNDS);    -- Obsolete, get integer in ( -power(2,32) <= random < power(2,32) )
        FUNCTION random RETURN BINARY_INTEGER;
        PRAGMA restrict_references (random, WNDS);    -- Obsolete, does nothing
        PROCEDURE terminate;    TYPE num_array IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    END dbms_random;