Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 用于在plsql中插入值范围的循环_Oracle_Plsql_Oracle Apex - Fatal编程技术网

Oracle 用于在plsql中插入值范围的循环

Oracle 用于在plsql中插入值范围的循环,oracle,plsql,oracle-apex,Oracle,Plsql,Oracle Apex,我正在尝试运行以下sql查询来填充表,但无法运行它。。。有什么想法吗 BEGIN FOR n in 21500..21600 LOOP if mod(n,2)=0 then dbms_output.put_line(n||'even'); else insert into port_mapping(APP,VERSION,BUSINESS,CRITICAL,SUPPORTED,TYPE,PORT,NOTE) values("SDS

我正在尝试运行以下sql查询来填充表,但无法运行它。。。有什么想法吗

BEGIN
FOR n in 21500..21600 LOOP

   if mod(n,2)=0
   then    
       dbms_output.put_line(n||'even');
   else
      insert into port_mapping(APP,VERSION,BUSINESS,CRITICAL,SUPPORTED,TYPE,PORT,NOTE)
      values("SDS","1","No","Yes","Yes","Server",n,"NA");
   end if;
END LOOP;
COMMIT;
END;
我发现了错误

PL/SQL:ORA-00984:此处不允许列ORA-06550:第8行,列 7:PL/SQL:SQL语句被忽略


您的值在双引号中,这使它们成为Oracle关注的列标识符。您需要单引号:

...
  values('SDS','1','No','Yes','Yes','Server',n,'NA');
...

您不需要PL/SQL来实现这一点—您可以使用一个更简单的insert into和一个select connect by—但我不确定您是否将此作为一个练习

insert into port_mapping (APP,VERSION,BUSINESS,CRITICAL,SUPPORTED,TYPE,
    PORT,NOTE)
select 'SDS','1','No','Yes','Yes','Server',
    21500 + (level * 2) - 1,'NA'
from dual
connect by level < 51;