繁体   English   中英

Oracle 11g将语句插入多个表

[英]Oracle 11g Insert Statement into Multiple Tables

我目前在尝试同时执行多个语句时遇到麻烦。 尝试运行以下INSERT语句时,我一直收到此错误:

INSERT INTO report_header ( report_number, company_id, user_id, entry_date) VALUES ( 6797, 15967, 84, TRUNC(SYSDATE));
INSERT INTO report_detail (part_id, condition_id, uom_id, dvc_id, cqh_id, alt_part_id, entry_date, qty_quoted, qty_req, unit_cost, unit_price, customer_price, route_code) VALUES ((SELECT part_id from parts where pn = '2366'),15,1,3,(select max(report_id) from report_header), (SELECT part_id from parts where pn = '2366'),'11-JUN-2015',1,1,0,1895,1895,'O');
SELECT * from Dual;  

因此,当我拆分命令并一一运行它们时,它们运行良好,但是在同一条语句中,我收到“命令未正确结束”错误。 我一直在尝试所有各种线程,这是我可以获得的结局。 任何帮助表示赞赏。

预先感谢大家。

根据您的评论,我仍不清楚您使用哪种工具将语句提交到数据库。

您的查询工具很可能一次只能处理一个语句。

即使按照您的方式批处理了3条语句,这些仍然是3条不同的语句,也许该工具无法处理。

可用于将其转换为单个语句的技术是通过将SQL作为单个匿名PL / SQL块的一部分提交。 不知道您的工具是否会支持。 但是,如果这样做,您可以尝试一下(由于不知道它的意义,我从双部分中省略了选择):

begin
    INSERT INTO report_header ( report_number, company_id, user_id, entry_date) VALUES ( 6797, 15967, 84, TRUNC(SYSDATE));
    INSERT INTO report_detail (part_id, condition_id, uom_id, dvc_id, cqh_id, alt_part_id, entry_date, qty_quoted, qty_req, unit_cost, unit_price, customer_price, route_code) VALUES ((SELECT part_id from parts where pn = '2366'),15,1,3,(select max(report_id) from report_header), (SELECT part_id from parts where pn = '2366'),'11-JUN-2015',1,1,0,1895,1895,'O');
end;

关键是包装要beginend; 像上面的关键字。 希望它将为您工作。

斯坦指出的是,在每个语句的末尾都缺少分号。

尝试:

INSERT INTO report_header ( report_number, company_id, user_id, entry_date) VALUES ( 6797, 15967, 84, TRUNC(SYSDATE));
INSERT INTO report_detail (part_id, condition_id, uom_id, dvc_id, cqh_id, alt_part_id, entry_date, qty_quoted, qty_req, unit_cost, unit_price, customer_price, route_code) VALUES ((SELECT part_id from parts where pn = '2366'),15,1,3,(select max(report_id) from report_header), (SELECT part_id from parts where pn = '2366'),'11-JUN-2015',1,1,0,1895,1895,'O');
SELECT * from Dual;

注意“;” 分隔每个单独的语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM