问题阐述
-
需求说明
使用PLSQL执行多条insert语句批量插入数据库表
问题分析
测试一
-
案例脚本
insert into user values (1,'张三','20200716'); insert into user values (2,'李四','20200808');
-
执行报错
- ORA-00911
- ORA-00911
-
原因分析
多条insert操作中,实际上是给SQL*PLUS提供了包含多个语句的块,需要用BEGIN…END扩起来
测试二
-
案例脚本
begin insert into user values (1,'张三','20200716'); insert into user values (2,'李四','20200808'); end;
-
执行报错
- ORA-06550
- ORA-06550
-
原因分析
提示必须遇到下列符号’;'之一才能作为结束标志
解决方案
-
案例脚本
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