0

嗨,亲爱的,我有一张包含 DT、DT2、DT3、DT4 列的表格,我可以插入一列,但不能同时插入一列,如果您有任何想法,请提前告诉我谢谢我的代码是

insert into calendar_dateS4 (DT,DT2,DT3, DT4, DT5 )
SELECT DT, DT2, DT3, DT4, DT5
        
FROM   (
         SELECT DATE '2020-01-01' + FLOOR( (LEVEL - 1) )
                  +  INTERVAL '08:45' HOUR TO MINUTE
                         + DBMS_RANDOM.VALUE() * INTERVAL '00:15' HOUR TO MINUTE
         
                  +  INTERVAL '16:45' HOUR TO MINUTE
                         + DBMS_RANDOM.VALUE() * INTERVAL '00:15' HOUR TO MINUTE
         
                  +  INTERVAL '05:45' HOUR TO MINUTE
                         + DBMS_RANDOM.VALUE() * INTERVAL '00:15' HOUR TO MINUTE
         
                  +  INTERVAL '13:45' HOUR TO MINUTE
                         + DBMS_RANDOM.VALUE() * INTERVAL '00:15' HOUR TO MINUTE
                         
                  +  INTERVAL '21:45' HOUR TO MINUTE
                         + DBMS_RANDOM.VALUE() * INTERVAL '00:15' HOUR TO MINUTE
                         
                        
                  AS DT, DT2, DT3, DT4, DT5
         FROM   DUAL
         CONNECT BY
                DATE '2020-01-01' + FLOOR( (LEVEL - 1) )
                  < ADD_MONTHS( DATE '2020-01-01', 12 )
       )
    
4

1 回答 1

0

INSERT的失败是因为你的SELECT陈述无效。努力获得SELECT具有所需结果的有效语句,然后将其转换为INSERT语句。

要将同一时间插入所有 5 列,您可以使用如下语句:

INSERT INTO calendar_dateS4 (DT,
                             DT2,
                             DT3,
                             DT4,
                             DT5)
    SELECT dt,
           dt,
           dt,
           dt,
           dt
      FROM (    SELECT   DATE '2020-01-01'
                       + FLOOR ((LEVEL - 1))
                       + INTERVAL '08:45' HOUR TO MINUTE
                       + DBMS_RANDOM.VALUE () * INTERVAL '00:15' HOUR TO MINUTE
                       + INTERVAL '16:45' HOUR TO MINUTE
                       + DBMS_RANDOM.VALUE () * INTERVAL '00:15' HOUR TO MINUTE
                       + INTERVAL '05:45' HOUR TO MINUTE
                       + DBMS_RANDOM.VALUE () * INTERVAL '00:15' HOUR TO MINUTE
                       + INTERVAL '13:45' HOUR TO MINUTE
                       + DBMS_RANDOM.VALUE () * INTERVAL '00:15' HOUR TO MINUTE
                       + INTERVAL '21:45' HOUR TO MINUTE
                       + DBMS_RANDOM.VALUE () * INTERVAL '00:15' HOUR TO MINUTE    AS DT
                  FROM DUAL
            CONNECT BY DATE '2020-01-01' + FLOOR ((LEVEL - 1)) < ADD_MONTHS (DATE '2020-01-01', 12))
于 2021-03-18T12:39:37.400 回答