1

我正在创建一个名为“integer_properties”的整数表,从 1 到 1000,表列是:

integer,isPrime,isOdd,isEven,digitCount;

我想使用 for 循环插入记录,但错误提示:“缺少 SELECT 关键字”

BEGIN
   for k in 1..1000
   loop
      insert into integer_properties(integer,
                                     isPrime,
                                     isEven,
                                     isOdd,
                                     digitCount)
         values(k,null,null,null,null);
   end loop;
END;

不使用 PL/SQL 块,用 DDL 命令输入 1000 个数字很繁琐。我正在尝试在整数列中输入循环变量值。有可能这样做吗?

4

1 回答 1

5

您可以在单个查询中执行此操作。

insert into integer_properties
select level, null, null, null, null
from dual
connect by level <= 1000;

commit;

LEVEL是分层查询中使用的伪列。

您的代码看起来不错,但使用INTEGER作为列名可能会导致问题。如果将其括在双引号中,它将正常工作。因此,最好在命名列时避免使用关键字。

于 2013-07-17T06:08:08.073 回答