SQL> select * from 研究生;
学号 姓名 性 入学年份 总分 研究方向 导
------ -------- -- ---------- ---------- -------------------- ---
960011 蒋宏立 女 01-9月 -99 430 国际贸易 105
960012 杜楠楠 男 01-9月 -96 387 会计学 101
973011 洛秋红 女 05-9月 -97 408 市场营销 102
SQL> insert into 研究生
2 values('972011','何东升','男',to_date('1997-09-05','yyyy-mm-dd'),'会计学','101');
insert into 研究生
*
ERROR 在行 1:
ORA-00947: 值不够
此错误的原因是:表有7个列,依这种写法,values中必须有7个值
改为:
insert into 研究生(学号,姓名,性,入学年份,研究方向,导)
2 values('972011','何东升','男',to_date('1997-09-05','yyyy-mm-dd'),'会计学','101');
最好使用这种方式,列与值的对应很清楚明白
如果不写插入列的话,你必须把全部的列值插入,不能只为部分列插入值。
还有就是在用oracle的merge函数,在目标表里的字段都要一一对应起来
学号 姓名 性 入学年份 总分 研究方向 导
------ -------- -- ---------- ---------- -------------------- ---
960011 蒋宏立 女 01-9月 -99 430 国际贸易 105
960012 杜楠楠 男 01-9月 -96 387 会计学 101
973011 洛秋红 女 05-9月 -97 408 市场营销 102
SQL> insert into 研究生
2 values('972011','何东升','男',to_date('1997-09-05','yyyy-mm-dd'),'会计学','101');
insert into 研究生
*
ERROR 在行 1:
ORA-00947: 值不够
此错误的原因是:表有7个列,依这种写法,values中必须有7个值
改为:
insert into 研究生(学号,姓名,性,入学年份,研究方向,导)
2 values('972011','何东升','男',to_date('1997-09-05','yyyy-mm-dd'),'会计学','101');
最好使用这种方式,列与值的对应很清楚明白
如果不写插入列的话,你必须把全部的列值插入,不能只为部分列插入值。
还有就是在用oracle的merge函数,在目标表里的字段都要一一对应起来