CREATE TABLE Location(
loc_id NUMBER(6),
room VARCHART2 (20)
CONSTRAIN location_loc_id_pk PRIMARY KEY(loc_id));
问题是我不明白红色部分,这个部分是可以随便写吗?
loc_id NUMBER(6),
room VARCHART2 (20)
CONSTRAIN location_loc_id_pk PRIMARY KEY(loc_id));
问题是我不明白红色部分,这个部分是可以随便写吗?
日后你需要查询这些约束的时候,就会一目了然了。
当然,最好还是指定一下名称,注意名称的长度不能超过30字符
这是主键的名称,可是可以,但长远来看最好是有规则的好些,方便以后
也可以这样写
CREATE TABLE Location(
loc_id NUMBER(6) PRIMARY KEY,
room VARCHART2 (20)
);
SQL> edi
已写入 file afiedt.buf 1 CREATE TABLE Location(
2 loc_id NUMBER(6) PRIMARY KEY,
3 room VARCHAR2 (20)
4* )
5 /表已创建。---lz 你的表中 room 字段类型名字写做了 多了个t(room VARCHART2 (20))
Name Type Nullable Default Comments
----------------- ------------ -------- ------- ---------------------------------------------------------------------------
OWNER VARCHAR2(30) Owner of the table
CONSTRAINT_NAME VARCHAR2(30) Name associated with constraint definition
CONSTRAINT_TYPE VARCHAR2(1) Y Type of constraint definition
TABLE_NAME VARCHAR2(30) Name associated with table with constraint definition
SEARCH_CONDITION LONG Y Text of search condition for table check
R_OWNER VARCHAR2(30) Y Owner of table used in referential constraint
R_CONSTRAINT_NAME VARCHAR2(30) Y Name of unique constraint definition for referenced table
DELETE_RULE VARCHAR2(9) Y The delete rule for a referential constraint
STATUS VARCHAR2(8) Y Enforcement status of constraint - ENABLED or DISABLED
DEFERRABLE VARCHAR2(14) Y Is the constraint deferrable - DEFERRABLE or NOT DEFERRABLE
DEFERRED VARCHAR2(9) Y Is the constraint deferred by default - DEFERRED or IMMEDIATE
VALIDATED VARCHAR2(13) Y Was this constraint system validated? - VALIDATED or NOT VALIDATED
GENERATED VARCHAR2(14) Y Was the constraint name system generated? - GENERATED NAME or USER NAME
BAD VARCHAR2(3) Y Creating this constraint should give ORA-02436. Rewrite it before 2000 AD.
RELY VARCHAR2(4) Y If set, this flag will be used in optimizer
LAST_CHANGE DATE Y The date when this column was last enabled or disabled
INDEX_OWNER VARCHAR2(30) Y The owner of the index used by the constraint
INDEX_NAME VARCHAR2(30) Y The index used by the constraint
INVALID VARCHAR2(7) Y
VIEW_RELATED VARCHAR2(14) Y
可以发现CONSTRAINT_NAME为VARCHAR2(30),那么你的约束名称长度自然不能超过30个字符,一般没有中文的话,就是和length字符串长度等价,有中文就和lengthb(约束名称),可以自己测试一下超过这个数字会提示什么。呵呵