插入时出现Oracle错误SP2-0734

时间:2017-10-27 08:45:15

标签: oracle sqlplus

我在服务器Oracle版本10.2.0.5上直接使用sqlplus

我在使用

这样的简单脚本加载数据时遇到问题
alter session set NLS_NUMERIC_CHARACTERS = ",.";
SET SQLBLANKLINES ON;
SET FEEDBACK OFF;
@TEST_DATA_TABLE.sql
commit;

文件TEST_DATA_TABLE.sql

SET DEFINE OFF;
Insert into test ( ID_TEST, .... ) values ('1',....);
Insert into test ( ID_TEST, .... ) values ('2',....);
...
Insert into test ( ID_TEST, .... ) values ('10',...,.... 'jlkjlkdjs');
...
Insert into test ( ID_TEST, .... ) values ('500000',....);
...

我对以下所有行都有以下错误例子:     SP2-0734:未知命令以“jlkj .......”开头 - 其余行被忽略。 对其他行来说没关系

限制似乎在同一行上有255个字符! 我在sqlplus中直接尝试复制/粘贴错误的行,如果我在多行上剪切线就可以了......

我正在寻找一种更好的解决方案,而不是创造一个外壳来消除所有长线。

THKS

1 个答案:

答案 0 :(得分:0)

关于文档是正常的: https://docs.oracle.com/cd/B19306_01/server.102/b14357/apa.htm

要插入更多数据,我这样做了:

for file in *DATA*.sql
do
  wc -l  ${file}
  sed 's/ values / values\n /g' $file > IMPORT/$file
  dos2unix  IMPORT/"$file" IMPORT/"$file"
  cat IMPORT/"$file" | awk 'length($0) > 240' | wc -l
done

我希望有时间研究更好的解决方案