现在往表里某字段插入值,要求是该值(数值型)的前四位是由一序列产生,后四位为随机数,请问这样的sql要怎么写!
insert into (num) values ('......')

解决方案 »

  1.   


    随机数这么得到:
    SELECT trunc(dbms_random.value(1000,9999)) num FROM dual;
      

  2.   


    完整测试:
    CREATE TABLE tt (n NUMBER);
    CREATE SEQUENCE s_tt ;BEGIN
      FOR I IN 1 .. 10 LOOP
        INSERT INTO TT
        VALUES
          (S_TT.NEXTVAL || TRUNC(DBMS_RANDOM.VALUE(1000, 9999)));
      END LOOP;
    END;
    SELECT * FROM tt;
    1 15123
    2 27176
    3 34422
    4 45400
    5 53328
    6 68512
    7 75138
    8 86133
    9 92500
    10     108296
      

  3.   

    [align=left]
    补充一下:CREATE TABLE tt (n NUMBER);
    CREATE SEQUENCE s_tt start with 1000;BEGIN
      FOR I IN 1 .. 10 LOOP
        INSERT INTO TT
        VALUES
          (S_TT.NEXTVAL || TRUNC(DBMS_RANDOM.VALUE(1000, 9999)));
      END LOOP;
    END;[/align]