使用简单循环插入时出现“ORA-00900 无效 SQL 语句”

Posted

技术标签:

【中文标题】使用简单循环插入时出现“ORA-00900 无效 SQL 语句”【英文标题】:"ORA-00900 invalid SQL statement" when using simple loop insert 【发布时间】:2020-07-31 11:01:44 【问题描述】:

总结

我正在尝试将两行插入一个具有两个 var_char 列的简单表中, 但它最终以“ORA-00900 invalid SQL statement”指向FOR loop_counter IN 1..2部分结束。

我的尝试

遵循https://www.techonthenet.com/oracle/loops/for_loop.php 的描述 检查互联网是否存在类似问题,但看起来问题相当奇特。

代码

FOR loop_counter IN 1..2
LOOP
    INSERT INTO table_a
        (COLUMN_ONE, COLUMN_TWO)
    Values
        ('value_one', 'value_two');
END LOOP;

COMMIT;

提前致谢!

【问题讨论】:

【参考方案1】:

你错过了BEGIN END,了解更多关于匿名块here

BEGIN
   FOR loop_counter IN 1 .. 2
   LOOP
      INSERT INTO table_a
         (column_one
         ,column_two)
      VALUES
         ('value_one'
         ,'value_two');
   END LOOP;
   COMMIT;
END;

【讨论】:

以上是关于使用简单循环插入时出现“ORA-00900 无效 SQL 语句”的主要内容,如果未能解决你的问题,请参考以下文章

如何找出 datagrip 中的 ORA-00900 无效 SQL 语句

ORA-00900: 无效的 SQL 语句 - 使用 node-oracledb 运行查询时

Oracle.DataAccess.Client.OracleException: ORA-00900: 无效的 SQL 语句

使用 Oracle 和 PHP:在 SQL Developer 中工作,但 PHP 文件结果 ORA-00900:无效语句

sql ORA-00900: 无效的 SQL 语句

将 @Transactionnal 从存储库移动到服务后获取 ORA-00900(无效 SQL 语句)