2013-11-24 4 views
-1
CREATE TABLE TEMP_STUDENT 
(STUDID NUMBER(8,0) NOT NULL PRIMARY KEY, 
FIRST_NAME VARCHAR2(25), 
LAST_NAME VARCHAR2(25), 
ZIP VARCHAR2(5) FOREIGN KEY REFERENCES ZIPCODE(ZIP), 
REGISTRATION_DATE DATE NOT NULL CHECK (REGISTRATION_DATE > TO_DATE('1-JAN-2000 00:00:00','DD-MON-YYYY HH24:MI:SS'))) 

Что не так в этом, пожалуйста, помогите. Я получаю сообщение об ошибке: «отсутствующего правого parenthisis»Дата Контрольная сумма в Oracle

+0

Если вы хотите, чтобы внешний ключ, определенный рядный, удалите 'ИНОСТРАННОЙ KEY' так:' ZIP VARCHAR2 (5) ЛИТЕРАТУРЫ ZIPCODE (ZIP), ' –

ответ

1

Проблема с вашим FOREIGN KEY REFERENCES чеки.

Вы хотите this:

create table zipcode 
(
    zip varchar2(5) primary key 
); 

CREATE TABLE TEMP_STUDENT 
(STUDID NUMBER(8,0) NOT NULL PRIMARY KEY, 
FIRST_NAME VARCHAR2(25), 
LAST_NAME VARCHAR2(25), 
ZIP VARCHAR2(5), 
REGISTRATION_DATE DATE NOT NULL CHECK (REGISTRATION_DATE > TO_DATE('1-JAN-2000 00:00:00','DD-MON-YYYY HH24:MI:SS')), 
constraint foreign key REFERENCES ZIPCODE(ZIP)); 
+1

zipcode существует, но первичный ключ не был определен, он работал, спасибо. –

+1

@HariChaudhary ах да. Поэтому, когда вы используете ссылку на внешний ключ, он должен указывать на поле уникального/первичного ключа. – Woot4Moo

-1
alter TEMP_STUDENT add constraint REGISTRATION_DATE_CHK check (REGISTRATION_DATE > TO_DATE('1-JAN-2000 00:00:00','DD-MON-YYYY HH24:MI:SS')) 
+0

спасибо за быстрый ответ , Это будет большой помощью, если вы можете написать ограничение с помощью команды CREATE TABLE, я новичок в Oracle –

+1

, что определенно не является проблемой. Проблема в том, что ваш внешний ключ – Woot4Moo

+0

, где находится внешний ключ? в какой скобке я отсутствую? –

Смежные вопросы