创建表时发生Sql错误-Firebird

创建表时发生Sql错误-Firebird,sql,firebird,ddl,sqldatatypes,ibexpert,Sql,Firebird,Ddl,Sqldatatypes,Ibexpert,我有简单的sql代码来创建表,然后向表中添加约束。看起来是这样的: 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 PR

我有简单的sql代码来创建表,然后向表中添加约束。看起来是这样的:

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 );
我正在为Firebird使用IBExpert-client。当我执行此代码时,会出现两个错误:

第一个错误:-在代码VARCHAR225中不为NULL

第二个错误:-在代码更改表中

我认为第一个原因是因为我使用的是varchar2而不是varchar。第二个错误呢?如何解决这个问题

Firebird中没有VARCHAR2类型- 如果要运行两个命令,则必须运行两个命令。您尝试一次运行两个命令,但这不是一种方法。你必须把它们分开,一个接一个地跑。或者,您必须将它们包装到一个执行块命令中。 IBExpert还有一个单独的脚本执行窗口,用于运行多个命令。设计用于执行一个命令的不是SQL编辑器,而是另一个菜单中的一个单独窗口- 表创建命令如下所述:

基本上,如果要在一个命令中执行,您尝试执行的操作如下所示:

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 )
)
Firebird中没有VARCHAR2类型- 如果要运行两个命令,则必须运行两个命令。您尝试一次运行两个命令,但这不是一种方法。你必须把它们分开,一个接一个地跑。或者,您必须将它们包装到一个执行块命令中。 IBExpert还有一个单独的脚本执行窗口,用于运行多个命令。设计用于执行一个命令的不是SQL编辑器,而是另一个菜单中的一个单独窗口- 表创建命令如下所述:

基本上,如果要在一个命令中执行,您尝试执行的操作如下所示:

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 )
)

瓦查尔2号?Firebord真的支持这种数据类型吗?我也这么认为,但似乎不是。瓦查尔在工作。alter table呢?VARCHAR2?Firebord真的支持这种数据类型吗?我也这么认为,但似乎不是。瓦查尔在工作。桌子怎么样?