执行 insert into A表 select * from B表语句,一直执行但是不报错,而且停不了会把程序卡住。
单独执行后面select语句不报错查询出来300多条数据。把数据导出SQL执行insert语句也不报错,但是一起执行就会卡住,根本没办法查询是否锁表。
而且是之前已上线功能,在开发环境和生产环境都没问题,就在uat环境有问题。
产生原因: insert语句执行后没有commit,Oracle的自动提交默认是关闭的
DML(Data Manipulation Language) 需要提交,这部分是对数据管理操作,比如Insert(插入)、Update(修改)、Delete(删除****);
DDL (Data Definition Language)不需要提交,这部分是对数据结构定义,比如Create(创建)、Alter(修改)、Drop(删除)。
在每执行一个insert语句之后执行commit;
需要每次commit一次,不然会导致阻塞卡死