我的方法是TABLE和CONSTRAINT分开写,like below: CREATE TABLE SYSPANEL (MODULE_NO CHAR(30) NOT NULL, FUNCTION_NO CHAR(30) NOT NULL, PICTURE_NAME CHAR(20) NOT NULL, TOOLBAR_NAME CHAR(20) NOT NULL, MULTI_LANGUAGE CHAR(50) NOT NULL ) GO ALTER TABLE SYSPANEL ADD CONSTRAINT SYSPANEL_PK PRIMARY KEY (FUNCTION_NO) GO ALTER TABLE SYSPANEL ADD CONSTRAINT SYSPANEL_FK_SYSPANEL_MODULE_NO FOREIGN KEY(MODULE_NO) REFERENCES SYSMODULE(MODULE_NO) GO 这样修改时会比较方便。可以先建立表,最后在加上CONSTRAINT.
CREATE 的顺序应该是 先 SYSMODULE 再 SYSPANEL 例子里两个 TABLE 还看得过来.但实际中 TABLE 很多时我就难受了!我这个.SQL 文件就很难维护了.
CREATE TABLE SYSPANEL
(MODULE_NO CHAR(30) NOT NULL,
FUNCTION_NO CHAR(30) NOT NULL,
PICTURE_NAME CHAR(20) NOT NULL,
TOOLBAR_NAME CHAR(20) NOT NULL,
MULTI_LANGUAGE CHAR(50) NOT NULL
)
GO
ALTER TABLE SYSPANEL
ADD CONSTRAINT SYSPANEL_PK PRIMARY KEY (FUNCTION_NO)
GO
ALTER TABLE SYSPANEL
ADD CONSTRAINT SYSPANEL_FK_SYSPANEL_MODULE_NO FOREIGN KEY(MODULE_NO) REFERENCES SYSMODULE(MODULE_NO)
GO
这样修改时会比较方便。可以先建立表,最后在加上CONSTRAINT.