[SQL*Plus WorkSheet]插入表的时候出现这样的问题!

[复制链接]
查看11 | 回复5 | 2012-5-15 15:24:11 | 显示全部楼层 |阅读模式
登陆:
Connect SYS/****@WWW.PRACTEMP.COM AS SYSDBA
Describe emp;
Name
Null
Type
EMPNO
NOT NULLNUMBER(4)
ENAME
VARCHAR2(10)
JOB
VARCHAR2(9)
MGR
NUMBER(4)
HIREDATE
DATE
SAL
NUMBER(7,2)
COMM
NUMBER(7,2)
DEPTNO
NOT NULLNUMBER(2)
insert into emp values(7839, KING, PRESIDENT, NULL, 17-NOV-81, 5000,NULL,10);
insert into emp values(7698, BLAKE,MANAGER, 7839, 01-MAY-81, 2850,NULL,30);
insert into emp values(7782, CLARK,MANAGER, 7839, 09-JUN-81, 2450,NULL,10);
insert into emp values(7566, JONES,MANAGER, 7839, 02-APR-81, 2975,NULL,20);
insert into emp values(7654, MARTIN, SALESMAN,7698, 28-SEP-81, 1250,1400,30);
insert into emp values(7499, ALLEN,SALESMAN,7698, 20-FEB-81, 1600,300, 30);
insert into emp values(7844, TURNER, SALESMAN,7698, 08-SEP-81, 1500,0, 30);
insert into emp values(7900, JAMES,CLERK, 7698, 03-DEC-81,950,NULL,30);
insert into emp values(7521, WARD, SALESMAN,7698, 22-FEB-81, 1250,500, 30);
insert into emp values(7902, FORD, ANALYST, 7566, 03-DEC-81, 3000,NULL,20);
insert into emp values(7369, SMITH,CLERK, 7902, 17-DEC-80, 800, NULL,20);
insert into emp values(7788, SCOTT,ANALYST, 7566, 09-DEC-82, 3000,NULL,20);
insert into emp values(7876, ADAMS,CLERK, 7788, 12-JAN-83, 1100,NULL,20);
insert into emp values(7934, MILLER, CLERK, 7782, 23-JAN-82, 1300,NULL,10);

下面是错误:
insert into emp values(7839, KING, PRESIDENT, NULL, 17-NOV-81, 5000,NULL,10);
*
ERROR位于第一行:
ORA-00984:列在此处不允许
每一行都有同样的错误,我想可能是系统默认的时间和我输入的格式不相符,(现在知道系统默认的日期格式是: DD-Mon-YY),以后遇见同样类似的错误怎么查帮助,好像这个帮助我现在用起来不是怎么顺手!!
请大家帮忙,thx.
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
字符要加' : 'KING'
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
把所有的字符类型加'以后还是不行!!!
错误一样的
然后将date类型的加上'
报错无效的月份??
应该怎么修改?/
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
17-NOV-81--->>>to_date('17-11-1981','dd-mm-yyyy')
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
insert into emp values(7839, 'KING', 'PRESIDENT', NULL, TO_DATE(17-11-81, 'DD-MON-yyyy'), 5000,NULL,10)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7698, 'BLAKE','MANAGER', 7839, TO_DATE(01-05-81, 'DD-MON-yyyy'), 2850,NULL,30)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7782, 'CLARK','MANAGER', 7839, TO_DATE(09-06-81, 'DD-MON-yyyy'), 2450,NULL,10)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7566, 'JONES','MANAGER', 7839, TO_DATE(02-04-81, 'DD-MON-yyyy'), 2975,NULL,20)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7654, 'MARTIN', 'SALESMAN',7698, TO_DATE(28-09-81, 'DD-MON-yyyy'), 1250,1400,30)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7499, 'ALLEN','SALESMAN',7698, TO_DATE(20-02-81, 'DD-MON-yyyy'), 1600,300, 30)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7844, 'TURNER', 'SALESMAN',7698, TO_DATE(08-09-81, 'DD-MON-yyyy'), 1500,0, 30)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7900, 'JAMES','CLERK', 7698, TO_DATE(03-12-81, 'DD-MON-yyyy'),950,NULL,30)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7521, 'WARD', 'SALESMAN',7698, TO_DATE(22-02-81, 'DD-MON-yyyy'), 1250,500, 30)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间

insert into emp values(7902, 'FORD', 'ANALYST', 7566, TO_DATE(03-12-81, 'DD-MON-yyyy'), 3000,NULL,20)

*
ERROR 位于第 1 行:
ORA-01847: 月份中日的值必须介于 1 和当月最后一日之间
出现了这样的错误,能不能调试好以后在帮我解释一下,多谢!
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
SQL> select TO_DATE('17-11-81', 'DD-mm-yy') from dual;
TO_DATE('1
----------
17-11月-81
SQL>select to_char(TO_DATE('17-11-81', 'DD-mm-yy'),'yyyy') from dual;
TO_C
----
2081
SQL> select TO_DATE('17-11-1981', 'DD-mm-yyyy') from dual;
TO_DATE('1
----------
17-11月-81
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行