oralce插入错误

houyajin 2011-04-20 03:12:24

create table customers
(
customer_id integer constraint customers_pk primary key,
first_name varchar2(10) not null,
last_name varchar2(10) not null,
dob date,
phone varchar2(12)
);
这个建立的表
insert into customers (customer_id,first_name,last_name,dob,phone)
values(6,'Fred','Brown','01-JAN-1970','800-555-1215');

我插入一条语句的时候提示错误,


ora--0483月份无效。
初学oralce请各位指教

上面定义的constraint后面的customers_pk看的不是很明白,,学习oracle需要注意那些事情。
谢谢。
...全文
99 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccg5230 2012-08-31
  • 打赏
  • 举报
回复
5楼正解,可是插入进去之后,查询显示的格式和插入的又不一样了,该如何设置呢?
304的的哥 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 houyajin 的回复:]

引用 1 楼 bobo12082119 的回复:
SQL code

insert into customers (customer_id,first_name,last_name,dob,phone)
values(6,'Fred','Brown',to_date('1970-01-01','yyyy-mm-dd'),'800-555-1215');


用这个可以插入,嘻嘻。
……
[/Quote]
可以就 插......
bruce_lee_lj 2011-04-20
  • 打赏
  • 举报
回复
to_date
houyajin 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bobo12082119 的回复:]
SQL code

insert into customers (customer_id,first_name,last_name,dob,phone)
values(6,'Fred','Brown',to_date('1970-01-01','yyyy-mm-dd'),'800-555-1215');
[/Quote]

用这个可以插入,嘻嘻。
houyajin 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhuomingwang 的回复:]
customers_pk
这个是约束的名称

报错的原因是你的时间格式不一致
select sysdate from dual
看看是什么格式 然后按照这个格式写时间就可以了

或者使用to_date()
insert into customers (customer_id,first_name,last_name,dob,phone)
values(6,'Fred','Br……
[/Quote]

我上面显的是年月时,时分秒,,

但是我改了格式提示格式不匹配,为什么?
ssqtjffcu 2011-04-20
  • 打赏
  • 举报
回复

--修改成这样
insert into customers
(customer_id, first_name, last_name, dob, phone)
values
(6,
'Fred',
'Brown',
to_date('01-JAN-1970', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE=AMERICAN'),
'800-555-1215');
304的的哥 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 houyajin 的回复:]
上面定义的constraint后面的customers_pk看的不是很明白,,学习oracle需要注意那些事情。
[/Quote]

--可以直接定义主键,在列后面加上primary key
create table customers(
customer_id integer primary key,
first_name varchar2(10) not null,
last_name varchar2(10) not null,
dob date,
phone varchar2(12)
);
也可与通过命令来修改:
alter table customers add constraint pk_constriant primary key(customer_id);

更多修改表命令,参考:

oracle alter table详解
  • 打赏
  • 举报
回复
customers_pk
这个是约束的名称

报错的原因是你的时间格式不一致
select sysdate from dual
看看是什么格式 然后按照这个格式写时间就可以了

或者使用to_date()
insert into customers (customer_id,first_name,last_name,dob,phone)
values(6,'Fred','Brown',to_date('01-01-1970','dd-mm-yyyy'),'800-555-1215');

jk_0803shidongdong 2011-04-20
  • 打赏
  • 举报
回复
插入的位置不对
304的的哥 2011-04-20
  • 打赏
  • 举报
回复

insert into customers (customer_id,first_name,last_name,dob,phone)
values(6,'Fred','Brown',to_date('1970-01-01','yyyy-mm-dd'),'800-555-1215');

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧