我有create table
的简单sql代码,然后是add constraint
。它看起来像这样:
CREATE TABLE bills (
id INTEGER NOT NULL,
code VARCHAR2(25) NOT NULL,
dateOfGeneration DATE NOT NULL,
job_id INTEGER NOT NULL
);
ALTER TABLE bills ADD CONSTRAINT bills_pk PRIMARY KEY ( id,job_id );
我正在使用IBExpert - Firebird的客户端。当我执行此代码时,我得到2个错误:
第一个错误: - 代码VARCHAR2(25)NOT NULL
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, column 29.
(.
第二个错误: - 代码ALTER TABLE ...
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 8, column 1.
ALTER.
我认为第一个是因为我使用varchar2
而不是varchar
。第二个错误呢?如何解决这个问题?
VARCHAR2
类型 - https://firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25-datatypes-chartypes.htmlEXECUTE BLOCK
命令。IBExpert
还有一个单独的Script Executive
窗口,用于运行多个命令。它不是用于执行ONE命令的SQL Editor
,它是另一个菜单中的单独窗口 - https://www.ibexpert.net/ibe/pmwiki.php?n=Doc.ScriptExecutive基本上你要做的事情看起来像这样,如果要在一个命令中执行:
CREATE TABLE bills (
id INTEGER NOT NULL,
code VARCHAR(25) NOT NULL,
dateOfGeneration DATE NOT NULL,
job_id INTEGER NOT NULL,
PRIMARY KEY ( id,job_id )
)
或者如果你坚持命名那么也许
CREATE TABLE bills (
id INTEGER NOT NULL,
code VARCHAR(25) NOT NULL,
dateOfGeneration DATE NOT NULL,
job_id INTEGER NOT NULL,
CONSTRAINT bills_pk PRIMARY KEY ( id,job_id )
)