但是后面那个语句这么简单也报错,那就不是,我仔细看了一下第二个语句,你的values后面好像没有空格。至于分号这个,当oracle不知道报什么错的时候就会报这个,所以暂时可以不看,不过语句中也确实没有分号,你可以先在values后面加上一个空格试试,如果还不行那么可能就是分号的问题了,不过个人觉得可能性不大。
pydwh,我写了c.sql,内容是insert into t2 values('4','aaa')
insert into t2 values('5','bbb')
insert into t2 values('6','ccc')
执行sql>@e:\c.sql可以插入3行。
同样的语句在sql里直接执行
SQL>r
1 insert into t2 values('7','aa')
2 insert into t2 values('8','bb')
3* insert into t2 values('9','cc')
insert into t2 values('7','aa')
*
ERROR 位于第 1 行:
ORA-00911: 无效字符
把后面的号删除,再执行
SQL>r
1 insert into t2 values('1','aaaa')
2 insert into t2 values('2','bbbb')
3* insert into t2 values('3','cccc')
insert into t2 values('2','bbbb')
*
ERROR 位于第 2 行:
ORA-00933: SQL 命令未正确结束
SQL>r
1 insert into t2 values('7','aa')
2 insert into t2 values('8','bb')
3* insert into t2 values('9','cc')
方法实际上是给SQL*PLUS提供了包含多个语句的块,可是却没有BEGIN...END扩起来,所以它不认了。
而使用@c.sql方法,SQL*PLUS读取该文件,按照sqlterminal进行语句的分割,然后逐句运行的,而不是作为一个块运行的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)