【求助】SQL问题,急~~~~~~~~~~~~

繁华终归落尽 2013-01-08 01:11:33
CREATE TABLE T_FARS_SRC_DATA_KEY_MAP
(

JOB_ID NUMBER(10,0) NOT NULL ENABLE,
PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --源库第一主键
IMAGE_ID VARCHAR2(50) NOT NULL ENABLE, --源库第二主键
SEQ_KEY NUMBER(20,0)
);

PARTITION BY RANGE(JOB_ID) INTERVAL (1)

STORE IN (TS_FARS_PERSON_DATA1,TS_FARS_PERSON_DATA2,TS_FARS_PERSON_DATA3,TS_FARS_PERSON_DATA4)
(
PARTITION PART_KEY_MAP_1 VALUES LESS THAN (2)
);

ALTER TABLE T_FARS_SRC_DATA_KEY_MAP
ADD CONSTRAINT P$KEYMAP__JOB_PERSON_IMAGE PRIMARY KEY (JOB_ID, PERSON_ID, IMAGE_ID);


上边的语句执行不过去,大大们帮我看看有什么语法错误,急~~~~~~~~~~~~
...全文
346 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linwaterbin 2013-01-09
  • 打赏
  • 举报
回复
引用 楼主 l359122505 的回复:
CREATE TABLE T_FARS_SRC_DATA_KEY_MAP ( JOB_ID NUMBER(10,0) NOT NULL ENABLE, PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --源库第一主键 IMAGE_ID VARCHA……
你的数据库版本是多少?10g好像不能用store in来指定表空间,store in是hash partition的语法 试试下面的语法: (PARTITION PART_KEY_MAP_1 VALUES LESS THAN (2) tablespace users) 那个分号是一定要去掉的,无论那个版本
forgetsam 2013-01-09
  • 打赏
  • 举报
回复
这是个分区表,你那些分区对应的表空间有吗。
繁华终归落尽 2013-01-09
  • 打赏
  • 举报
回复
引用 5 楼 linwaterbin 的回复:
语法问题 CREATE TABLE T_FARS_SRC_DATA_KEY_MAP ( JOB_ID NUMBER(10,0) NOT NULL ENABLE, PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --源库第一主键 IMAGE_ID VARCHAR2(50) NO……
提示选项缺失或者无效
繁华终归落尽 2013-01-09
  • 打赏
  • 举报
回复
引用 4 楼 lovezxb0312 的回复:
语法没有问题,去掉partition前面的分号即可,楼主好好测测
不对啊,不加分号连建表语句都执行不过去啊
繁华终归落尽 2013-01-09
  • 打赏
  • 举报
回复
引用 5 楼 linwaterbin 的回复:
语法问题 CREATE TABLE T_FARS_SRC_DATA_KEY_MAP ( JOB_ID NUMBER(10,0) NOT NULL ENABLE, PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --源库第一主键 IMAGE_ID VARCHAR2(50) NO……
不对啊,不加分号连建表语句都执行不过去啊
陈字文 2013-01-09
  • 打赏
  • 举报
回复

DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);
linwaterbin 2013-01-09
  • 打赏
  • 举报
回复
语法问题 CREATE TABLE T_FARS_SRC_DATA_KEY_MAP ( JOB_ID NUMBER(10,0) NOT NULL ENABLE, PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --源库第一主键 IMAGE_ID VARCHAR2(50) NOT NULL ENABLE, --源库第二主键 SEQ_KEY NUMBER(20,0) )[b];[/b] PARTITION BY RANGE(JOB_ID) INTERVAL (1) 这个分号去掉
lovezxb0312 2013-01-09
  • 打赏
  • 举报
回复
语法没有问题,去掉partition前面的分号即可,楼主好好测测
fw0124 2013-01-09
  • 打赏
  • 举报
回复
--怎么会?我试下来可以的,不过我把表空间列表那里换成了我的环境上的表空间而已
scott@ORA11GR2> CREATE TABLE T_FARS_SRC_DATA_KEY_MAP
  2     (
  3           JOB_ID   NUMBER(10,0) NOT NULL ENABLE,
  4           PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --??????
  5           IMAGE_ID  VARCHAR2(50) NOT NULL ENABLE, --??????
  6           SEQ_KEY    NUMBER(20,0)
  7     )
  8    PARTITION BY RANGE(JOB_ID)  INTERVAL (1)
  9      STORE IN (USERS,EXAMPLE)
 10    (
 11          PARTITION PART_KEY_MAP_1 VALUES  LESS THAN (2)
 12    );

Table created.

scott@ORA11GR2>   ALTER TABLE T_FARS_SRC_DATA_KEY_MAP
  2    ADD CONSTRAINT P$KEYMAP__JOB_PERSON_IMAGE PRIMARY KEY (JOB_ID, PERSON_ID, IMAGE_ID);

Table altered.
潇洒王子 2013-01-09
  • 打赏
  • 举报
回复
原来是这样,学习了
繁华终归落尽 2013-01-08
  • 打赏
  • 举报
回复
引用 1 楼 fw0124 的回复:
SQL code ? 1234567891011121314151617 --去掉那个多余的; CREATE TABLE T_FARS_SRC_DATA_KEY_MAP ( JOB_ID NUMBER(10,0) NOT NULL ENABLE, PERSON_ID VARCHAR2(50) NOT NULL ENABL……
提示标识符无效
fw0124 2013-01-08
  • 打赏
  • 举报
回复

--去掉那个多余的;
CREATE TABLE T_FARS_SRC_DATA_KEY_MAP
   (    
         JOB_ID   NUMBER(10,0) NOT NULL ENABLE, 
         PERSON_ID VARCHAR2(50) NOT NULL ENABLE, --??????
         IMAGE_ID  VARCHAR2(50) NOT NULL ENABLE, --??????
         SEQ_KEY    NUMBER(20,0)
   )   
  PARTITION BY RANGE(JOB_ID)  INTERVAL (1)
    STORE IN (TS_FARS_PERSON_DATA1,TS_FARS_PERSON_DATA2,TS_FARS_PERSON_DATA3,TS_FARS_PERSON_DATA4)
  (
        PARTITION PART_KEY_MAP_1 VALUES  LESS THAN (2)
  );
  
  ALTER TABLE T_FARS_SRC_DATA_KEY_MAP
  ADD CONSTRAINT P$KEYMAP__JOB_PERSON_IMAGE PRIMARY KEY (JOB_ID, PERSON_ID, IMAGE_ID);

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧