oracle8.1.7建立表空间A,用户AB,给予DBA权限,用normal模式登陆
运行以下语句
建表成功,没有任何报错
完成以后发现表没有建立主键,为什么啊,请教各位CREATE TABLE A.T
(
  ID  VARCHAR2(30)               NOT NULL,
  NAME               VARCHAR2(30),
  DETAILS            VARCHAR2(200)
)
TABLESPACE A
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          40K
            NEXT             40K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      50
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING 
NOCACHE
NOPARALLEL;
CREATE UNIQUE INDEX A.T_PK ON A.T
(TID)
LOGGING
TABLESPACE A
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          40K
            NEXT             40K
            MINEXTENTS       1
            MAXEXTENTS       UNLIMITED
            PCTINCREASE      50
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;
ALTER TABLE A.T ADD (
  CONSTRAINT T_PK
 PRIMARY KEY
 (TID)
    USING INDEX 
    TABLESPACE A
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          40K
                NEXT             40K
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      50
                FREELISTS        1
                FREELIST GROUPS  1
               ));

解决方案 »

  1.   

    里面有primarykey关键字没?我没找到。如果这样的SQL语句你写的不是什么很拿手的话,建议用Oracle中的Tool中的Export,然后导出为SQL文件,然后你就有的可以学习的地方了。
      

  2.   

    修正
    CREATE TABLE A.T 

      ID  VARCHAR2(30)              NOT NULL, 
    此地字段名ID手误打错,字段名应为TID
      

  3.   

    alter table add UNIQUE INDEX A.T_PK ON A.T(TID) 
      

  4.   

    主键应为primary key,而不是UNIQUE INDEX等。
      

  5.   

    错了
    create UNIQUE INDEX T_PK ON A.T(ID);
      

  6.   

    建表成功 不代表你见表语句下面的部分没错误
    ALTER TABLE A.T ADD ( 
      CONSTRAINT T_PK 
    PRIMARY KEY 
    (TID) 
    TID是什么
      

  7.   

    建立表空间A,用户AB,给予DBA权限,用normal模式登陆 
    运行以下语句 
    建表成功,没有任何报错 
    完成以后发现表没有建立主键,为什么啊,请教各位 CREATE TABLE A.T 
    用户是AB,为什么建立表的时候是 A.T呢
    A是谁?
      

  8.   

    汗一个
    楼上的哥们
    A是表空间啊A.T就是表空间A下面的表T顺便说,我的SQL语句是用TOAD生成的,问题就在于,我建表的时候建立了主键,使用这些sql的时候不能建立主键了
      

  9.   


    ALTER TABLE A.T ADD ( 
      CONSTRAINT T_PK 
    PRIMARY KEY 
    (TID) 
        USING INDEX 
        TABLESPACE A 
        PCTFREE    10 
        INITRANS  2 
        MAXTRANS  255 
        STORAGE    ( 
                    INITIAL          40K 
                    NEXT            40K 
                    MINEXTENTS      1 
                    MAXEXTENTS      UNLIMITED 
                    PCTINCREASE      50 
                    FREELISTS        1 
                    FREELIST GROUPS  1 
                  ));这不是主键?
      

  10.   

    我把楼主的代码执行了下, CREATE TABLE A.T 

      tID  VARCHAR2(30)              NOT NULL, 
      *
      NAME              VARCHAR2(30), 
      DETAILS            VARCHAR2(200) 
    ) 有主键!
      

  11.   

    alter table t add constraint t_pk 
    primary key(TID) 
     这个没错呀,是可以成功的,我试过了。