2013-11-28 3 views
1

Я пытаюсь создать новую схему и некоторые таблицы, но у меня возникли проблемы, когда я пытаюсь изменить недавно созданные таблицы, чтобы установить новые ключи. Ошибка, что я получаю то, чтоОшибка синтаксиса при создании схемы для hsqldb

«Alter» слово wasn't ожидается в этом пункте

(если я удалю альтер о сценарии работает, а если сделать изменить после выполнения создание таблиц и схемы тоже работает, но мне нужно все, чтобы работать в целом). Я использую HSQL Database Manager.

CREATE SCHEMA TEST2 
CREATE TABLE TEST2.T1 (ID_T1 bigint GENERATED BY DEFAULT AS IDENTITY (START WITH 1), CODE varchar(200), ID_T2 integer NOT NULL, PRIMARY KEY (ID_T1)) 
CREATE TABLE TEST2.T2 (ID_T2 integer GENERATED BY DEFAULT AS IDENTITY (START WITH 1), DESCRIPTION varchar(200), PRIMARY KEY (ID_T2)) 
ALTER TABLE TEST2.T1 ADD CONSTRAINT FKT1333520 FOREIGN KEY (ID_T2) REFERENCES TEST2.T2(ID_T2) 

ответ

2

Вы можете определить ограничение в определении таблицы. Ему нужна точка с запятой в конце

CREATE SCHEMA TEST2 AUTHORIZATION DBA 
CREATE TABLE TEST2.T1 (ID_T1 bigint GENERATED BY DEFAULT AS IDENTITY (START WITH 1), CODE varchar(200), ID_T2 integer NOT NULL, PRIMARY KEY (ID_T1)) 
CREATE TABLE TEST2.T2 (ID_T2 integer GENERATED BY DEFAULT AS IDENTITY (START WITH 1), DESCRIPTION varchar(200), PRIMARY KEY (ID_T2), 
CONSTRAINT FKT1333520 FOREIGN KEY (ID_T2) REFERENCES TEST2.T2(ID_T2)); 
+0

Hi! спасибо :), это работает, но на самом деле я опубликовал возобновленный пример моего скрипта. У меня есть много других таблиц с внешними ключами, и им трудно найти создание, указав первичные ключи в создании таблицы ... – Lucia

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