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

  • Post author:
  • Post category:其他


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的写法,都要注重列和值的个数一一对应。



版权声明:本文为HowCanYouDoIt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。