PLSQL批量执行insert脚本报错

PLSQL批量执行insert脚本报错

  • 问题阐述
  • 问题分析
    • 测试一
    • 测试二
  • 解决方案
  • 参考链接

问题阐述

  • 需求说明

    使用PLSQL执行多条insert语句批量插入数据库表

问题分析

测试一

  • 案例脚本

    
    
        insert into user values (1,'张三','20200716');
        insert into user values (2,'李四','20200808');
    
    
    
  • 执行报错

    1. ORA-00911
      PLSQL批量执行insert脚本报错_第1张图片
  • 原因分析

    多条insert操作中,实际上是给SQL*PLUS提供了包含多个语句的块,需要用BEGIN…END扩起来

测试二

  • 案例脚本

    
        begin
            insert into user values (1,'张三','20200716');
            insert into user values (2,'李四','20200808');
        end;
    
    
    
  • 执行报错

    1. ORA-06550
      PLSQL批量执行insert脚本报错_第2张图片
  • 原因分析

    提示必须遇到下列符号’;'之一才能作为结束标志

解决方案

  • 案例脚本

    
        begin
            insert into user values (1,'张三','20200716');
            insert into user values (2,'李四','20200808');
        end;
        /
    
    
    
  • 原因分析

    对于sql语句块、pl块,;表示sql结束,但运行sql,需要用/来执行。/作用是让服务器开始执行前面所写的sql脚本。

参考链接

https://blog.csdn.net/gnail_oug/article/details/80194989

你可能感兴趣的:(Work,Development,Relational,Database)