CREATE TABLE AS_Film
(
ID_film INTEGER NOT NULL ,
Opis VARCHAR2 (25) NOT NULL ,
Naziv VARCHAR2 (25) NOT NULL ,
Ocjena VARCHAR2 (25) NOT NULL ,
"2D_3D" VARCHAR2 NOT NULL ,
Sihronizacija VARCHAR2 NOT NULL ,
AS_Zanrovi_ID_zanr INTEGER NOT NULL
) ;
ALTER TABLE AS_Film ADD CHECK ( "2D_3D" IN ('2D', '3D')) ;
ALTER TABLE AS_Film ADD CHECK ( Sihronizacija IN ('Da', 'Ne')) ;
ALTER TABLE AS_Film ADD CONSTRAINT AS_Film_PK PRIMARY KEY ( ID_film ) ;
这是什么我尝试将ddl文件上传到iacademyonline并上传其余表格,但电影不会。请帮帮我。
答案 0 :(得分:5)
根据the documentation(强调我的):
VARCHAR2数据类型存储可变长度字符串。 当您使用VARCHAR2列创建表时,为VARCHAR2列指定1到4000字节之间的最大字符串长度(以字节或字符为单位)。
此处,您未指定VARCHAR2
列"2D_3D"
和Sihronizacija
的长度:
CREATE TABLE AS_Film
(
ID_film INTEGER NOT NULL ,
Opis VARCHAR2 (25) NOT NULL ,
Naziv VARCHAR2 (25) NOT NULL ,
Ocjena VARCHAR2 (25) NOT NULL ,
"2D_3D" VARCHAR2 NOT NULL , -- here
Sihronizacija VARCHAR2 NOT NULL , -- and here
AS_Zanrovi_ID_zanr INTEGER NOT NULL
) ;
这将产生ORA-00906: missing left parenthesis
。
答案 1 :(得分:3)
列“2D_3D”和Sihronizacija没有为数据类型定义的长度:
将表格定义更新为:
"2D_3D" VARCHAR2(<length>) NOT NULL ,
Sihronizacija VARCHAR2(<length>) NOT NULL ,