关于db2创建表的问题,谢谢各位大侠了!!

来源:百度知道 编辑:UC知道 时间:2024/06/10 00:08:32
我是个db2初学者,在db2里我创建了数据库,名字叫wsycdb,然后我在命令编辑器里输入代码想创建表,代码如下:
create table CC_ROLE2
(
CC_ROLE_ID varchar(8) not null,
SYS_CODE varchar(3) not null,
ROLE_CODE varchar(3) not null,
ROLE_NAME varchar(3) not null,
)
但是,系统提示出错:
DB21034E 该命令被当作 SQL
语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:
SQL0104N 在 "not null," 之后发现意外的标记
")"。期望的标记可能包括:"<table_element>"。 SQLSTATE=42601

SQL0104N 在 "not null," 之后发现意外的标记 ")"。期望的标记可能包括:"<table_element> "。

解释:

在文本 "<文本>" 后面的指定标记处检测到 SQL
语句中的语法错误。"<文本>" 字段指示无效标记前面的 SQL 语句中的 20
个字符。

作为对程序员的帮助,在 SQLCA 的 SQLERRM
字段中,提供了有效标记的部分列表作为
"<标记列表>"。此列表假设语句

呵呵,这个阿,你在最后定义列的地方多输入了一个逗号。
应该这样的
create table CC_ROLE2
(
CC_ROLE_ID varchar(8) not null,
SYS_CODE varchar(3) not null,
ROLE_CODE varchar(3) not null,
ROLE_NAME varchar(3) not null
);
注意最后的ROLE_NAME varchar(3) not null后面没有逗号。
另外你还可以加入一些其它限制,比如存放表的表空间等等