dat*_*ili 5 sql oracle oracle11g
我已成功使用此命令创建表
create table Person(
first_name varchar(25) not null,
last_name varchar(25) not null,
persoin_id number not null,
birth_date date,
country varchar (25),
salary number);
Run Code Online (Sandbox Code Playgroud)
现在我想在该表中插入数据
insert into Person(persoin_id,first_name,last_name,salary,birth_date,country)
values(100,'dato','datuashvili',350,to_date('01/01/10','DD/MM/YY'),'georgia');
values(101,'irakli','oqruashvili',350,to_date('01/03/10','DD/MM/YY'),'georgia');
Run Code Online (Sandbox Code Playgroud)
插入第一行,但问题是第二行
1 rows inserted.
Run Code Online (Sandbox Code Playgroud)
从命令行10开始出错:
值(101,'irakli','oqruashvili',350,to_date('01/03/10','DD/MM/YY'),'georgia')
错误报告:
未知命令
请帮我确定是什么问题?谢谢
如果您在一个支持多行插入的RDBMS中INSERT:
insert into Person(persoin_id,first_name,last_name,salary,birth_date,country)
values
(100,'dato','datuashvili',350,to_date('01/01/10','DD/MM/YY'),'georgia') ,
--- comma here ---^
(101,'irakli','oqruashvili',350,to_date('01/03/10','DD/MM/YY'),'georgia') ;
^--- no "values" here
Run Code Online (Sandbox Code Playgroud)
如果不是(如Oracle),则必须发出两个insert语句:
insert into Person(persoin_id,first_name,last_name,salary,birth_date,country)
values
(100,'dato','datuashvili',350,to_date('01/01/10','DD/MM/YY'),'georgia') ;
--- as it was here ---^
insert into Person(persoin_id,first_name,last_name,salary,birth_date,country)
values
(101,'irakli','oqruashvili',350,to_date('01/03/10','DD/MM/YY'),'georgia') ;
Run Code Online (Sandbox Code Playgroud)
或使用这种方法:
insert into Person(persoin_id,first_name,last_name,salary,birth_date,country)
select
(100,'dato','datuashvili',350,to_date('01/01/10','DD/MM/YY'),'georgia')
from dual
union all select
(101,'irakli','oqruashvili',350,to_date('01/03/10','DD/MM/YY'),'georgia')
from dual
;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5277 次 |
| 最近记录: |