Oracle 18c 多次插入错误
Oracle 18c multiple insert errors
我需要在 Oracle table 中完成大约 10 万行的多次插入。但是当我尝试这样做时:
insert into table_name (ID, code, date_t)
values (schema_name.SEQ$table_name.NEXTVAL, '232323232323' , to_date('2020-09-01','YYYY-MM-DD'));
insert into table_name (ID, code, date_t)
values (schema_name.SEQ$table_name.NEXTVAL, '242424242424' , to_date('2020-09-01','YYYY-MM-DD'));
我收到一个错误:
ora-00933 sql command not properly ended
我尝试使用 insert all:
insert ALL
INTO table_name (ID, code, date_t) values (schema_name.SEQ$table_name.NEXTVAL, '232323232323' , to_date('2020-09-01','YYYY-MM-DD'))
INTO table_name (ID, code, date_t) values (schema_name.SEQ$table_name.NEXTVAL, '242424242424' , to_date('2020-09-01','YYYY-MM-DD'))
SELECT 1 FROM schema_name.table_name;
但是我收到一个错误:
ORA-00001: unique constraint (constraint_name) violated
如何解决该错误或如何在 oracle 中进行多次插入?
这些插入没有问题。
SQL> desc table_name
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
CODE VARCHAR2(20)
DATE_T DATE
SQL> INSERT INTO table_name (ID, code, date_t)
2 VALUES (scott.SEQ$table_name.NEXTVAL,
3 '232323232323',
4 TO_DATE ('2020-09-01', 'YYYY-MM-DD'));
1 row created.
SQL> INSERT INTO table_name (ID, code, date_t)
2 VALUES (scott.SEQ$table_name.NEXTVAL,
3 '242424242424',
4 TO_DATE ('2020-09-01', 'YYYY-MM-DD'));
1 row created.
SQL>
因此,这一定是您 运行 那些插入的方式。让我猜猜:如果它是 TOAD 并且每个 insert
之间没有空行,它将 return ORA-00933
所以“解决方案”是将它们作为脚本执行(F5
).
其他一些 GUI 可能需要不同的操作。
那么 - 你 运行 这些命令究竟如何?
我需要在 Oracle table 中完成大约 10 万行的多次插入。但是当我尝试这样做时:
insert into table_name (ID, code, date_t)
values (schema_name.SEQ$table_name.NEXTVAL, '232323232323' , to_date('2020-09-01','YYYY-MM-DD'));
insert into table_name (ID, code, date_t)
values (schema_name.SEQ$table_name.NEXTVAL, '242424242424' , to_date('2020-09-01','YYYY-MM-DD'));
我收到一个错误:
ora-00933 sql command not properly ended
我尝试使用 insert all:
insert ALL
INTO table_name (ID, code, date_t) values (schema_name.SEQ$table_name.NEXTVAL, '232323232323' , to_date('2020-09-01','YYYY-MM-DD'))
INTO table_name (ID, code, date_t) values (schema_name.SEQ$table_name.NEXTVAL, '242424242424' , to_date('2020-09-01','YYYY-MM-DD'))
SELECT 1 FROM schema_name.table_name;
但是我收到一个错误:
ORA-00001: unique constraint (constraint_name) violated
如何解决该错误或如何在 oracle 中进行多次插入?
这些插入没有问题。
SQL> desc table_name
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
CODE VARCHAR2(20)
DATE_T DATE
SQL> INSERT INTO table_name (ID, code, date_t)
2 VALUES (scott.SEQ$table_name.NEXTVAL,
3 '232323232323',
4 TO_DATE ('2020-09-01', 'YYYY-MM-DD'));
1 row created.
SQL> INSERT INTO table_name (ID, code, date_t)
2 VALUES (scott.SEQ$table_name.NEXTVAL,
3 '242424242424',
4 TO_DATE ('2020-09-01', 'YYYY-MM-DD'));
1 row created.
SQL>
因此,这一定是您 运行 那些插入的方式。让我猜猜:如果它是 TOAD 并且每个 insert
之间没有空行,它将 return ORA-00933
所以“解决方案”是将它们作为脚本执行(F5
).
其他一些 GUI 可能需要不同的操作。
那么 - 你 运行 这些命令究竟如何?