insert into ……select from的用法及容易造成的错误

insert 语句插入从表中获取的数据

最常用的insert语句一般写法是:

insert into table (field1,field2)values(value1,value2);

数据从表中获取的写法是:

 insert into  tableA (field1,field2) select field1,field2 from tableB;

注意以上是正确写法,以下是错误写法:

 insert into  tableA (field1,field2) values(select field1,field2 from tableB);

这样写在存储过程中,编译会一直报错

Error: PL/SQL: ORA-00936: 缺失表达式
Error: PL/SQL: SQL Statement ignored

如果要实现两个一样的表进行复制数据,注意两个表里的字段要一模一样

insert into tableA select * from tableB;

insert语句里最容易造成的错误就是

ORA-00913: 值过多

无论是普通的写法还是select的写法,都要注重列和值的个数一一对应。

你可能感兴趣的:(ORACLE,数据库)