2014-11-01 3 views
0

Я пытаюсь создать таблицу ниже, но Oracle говорит мне, что ключевое слово отсутствует. Я посмотрел на код, который я не вижу проблемы. Пожалуйста, помогитеСоздание таблицы SQL

CREATE TABLE lecture 
(LectureID integer not null, 
StartDate date not null, 
StartTime time not null, 
EndTime time not null, 
TicketID integer not null, 
PRIMARY KEY (LectureID), 
FOREIGN KEY (TicketID) REFERENCES ticket(TicketID) ON DELETE RESTRICT ON UPDATE CASCADE); 

Это код ошибки я получаю

ORA-00905: отсутствует ключевое слово

+0

У Oracle нет типа данных 'time': http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#SQLRF30020 –

+1

@Joseph. , , Я считаю, что оба ответа верны. Вам необходимо исправить как ссылку, так и тип данных. –

+0

Мне нужно получить значение ON DELETE RESTRICT ON UPDATE CASCADE, как это сделать в oracle? – Joseph

ответ

0

время тип данных НЭ suppoerted в Oracle У вас будут следующие варианты для даты времени в оракуле

DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, and TIMESTAMP WITH LOCAL TIME ZONE. 

Для DATETIME детали вы можете обратиться: Click Here

CREATE TABLE lecture 
(LectureID integer not null, 
StartDate date not null, 
StartTime TIMESTAMPnot null, 
EndTime TIMESTAMPnot null, 
TicketID integer not null, 
PRIMARY KEY (LectureID), 
FOREIGN KEY (TicketID) REFERENCES ticket(TicketID) ON DELETE RESTRICT ON UPDATE CASCADE); 
+0

Спасибо за это – Joseph

+0

@Joseph Я сожалею, что в Oracle не удалось обновить каскад. Я с удовольствием помог вам –

+0

@ Joseph это лучший артистизм для вас, чтобы достичь вашей функции: пожалуйста, обратитесь к этому http://stackoverflow.com/questions/22871300/on-update-restrict-on-delete-cascade –

0

нет ON UPDATE и DELETE RESTRICT пункт в Oracle. Это параметры mysql

+0

, какую статью я могу использовать для достижения такого же эффекта в оракуле? спасибо – Joseph

+0

У вас есть только три варианта DELETE: CASCADE, SET NULL или NO ACTION. Вы должны использовать предложение NO ACTION. Oracle не поддерживает CASCADE UPDATE. Вам нужно написать триггер. – ZSchm79

+0

В Oracle не будет никакого предложения. С помощью триггеров. – knkarthick24