2013-10-24 34 views
0

我需要将DATE列的数据类型更改为VARCHAR吗?插入SQL - MM变量?

SQL> INSERT INTO BW_CLASS VALUES(`PC101', `MS OFFICE BASICS', `INDIANA JONES','18','1000', 
    2 TO_DATE('01-10-2013 10:30 AM', 'MM-DD-YYYY HH:Mm PM'), 
    3 TO_DATE('05-10-2013 10:30 AM', 'MM-DD-YYYY HH:Mm PM'), 
    4 `1276'; 
SP2-0552: Bind variable "MM" not declared. 
SQL> desc bw_class 
Name                Null? Type 
CLASS_ID               NOT NULL CHAR(5) 
CLASS_NAME               NOT NULL VARCHAR2(40) 
PROFESSOR               NOT NULL VARCHAR2(50) 
NUMBER_OF_STUDENTS               NUMBER(6,2) 
COST                   NUMBER(6,2) 
START_DATE               NOT NULL DATE 
END_DATE               NOT NULL DATE 
ROOM_NUM                  VARCHAR2(3) 
+2

在您发布的代码中,您似乎混合使用了单引号字符和重音字符“单引号开始和结束字符串”。重音字符没有。您需要用单引号替换所有重音符号 –

回答

2

请使用此查询

INSERT INTO BW_CLASS VALUES('PC101', 'MS OFFICE BASICS', 'INDIANA JONES','18','1000', 
    TO_DATE('01-10-2013 10:30 AM', 'MM-DD-YYYY HH:MI PM'), 
    TO_DATE('05-10-2013 10:30 AM', 'MM-DD-YYYY HH:MI PM'), 
    '1276'; 
1

您使用了错误的报价。所有参数都需要在两边用'来引用,但是你在某些地方使用过``。所以,你应该试试这个:

INSERT INTO BW_CLASS VALUES('PC101', 'MS OFFICE BASICS', 'INDIANA JONES','18','1000', 
    TO_DATE('01-10-2013 10:30 AM', 'MM-DD-YYYY HH:MI PM'), 
    TO_DATE('05-10-2013 10:30 AM', 'MM-DD-YYYY HH:MI PM'), 
    '1276'; 

而且你不需要在行的开头写2 3 4,你为什么这样做呢?

+0

234来自我的Oracle窗口的复制/粘贴,对不起。 –