我正在尝试创建一个新的模式和一些表,但是当我尝试更改最近创建的表以设置外出键时,我遇到了问题。我得到的错误是
此时并未预期“改变”这个词
(如果我删除了脚本工作的alter语句,并且如果在执行表和模式的创建之后执行alter,它也可以工作,但我需要一切工作作为一个整体)。我正在使用HSQL数据库管理器。
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)
答案 0 :(得分: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));