2013-02-18 47 views
2

我玩1.2.5工作,分贝演变,Oracle多行

我想使用DB演进系统与Oracle 11g第2版

但是,当我有一个多行的要求,

# --- la table champ pointe directement sur la table categorie (pas de relation n, n) 

# --- !Ups 

    DROP TABLE CATEGORIE_CHAMP; 
    ALTER TABLE CHAMP ADD (ID_CATEGORIE NUMBER(38)); 
    ALTER TABLE CHAMP ADD CONSTRAINT FK_CHAMP_CATEGORIE FOREIGN KEY (ID_CATEGORIE) REFERENCES CATEGORIE(ID_CATEGORIE); 

# --- !Downs 
    CREATE TABLE "CATEGORIE_CHAMP" 
    ( "ID_CATEGORIE" NUMBER(38,0), 
    "ID_CHAMP" NUMBER(38,0), 
    CONSTRAINT "Categorie_Champ PK" PRIMARY KEY ("ID_CHAMP", "ID_CATEGORIE") 
    USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOCOMPRESS LOGGING 
    TABLESPACE "USERS" ENABLE, 
    CONSTRAINT "CATEGORIE_CHAMP_CATEGORIE" FOREIGN KEY ("ID_CATEGORIE") 
     REFERENCES "RENTIT"."CATEGORIE" ("ID_CATEGORIE") ENABLE, 
    CONSTRAINT "CATEGORIE_CHAMP_CHAMP" FOREIGN KEY ("ID_CHAMP") 
     REFERENCES "RENTIT"."CHAMP" ("ID_CHAMP") ENABLE 
    ) SEGMENT CREATION DEFERRED 
    PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING 
    TABLESPACE "USERS" ; 

ALTER TABLE CHAMP DROP COLUMN ID_CATEGORIE; 

这个请求不工作,做一个问题:

ORA-00911: caractère non valide 
[ERROR:911, SQLSTATE:22019] 
invalid character. The character is the ;. 

什么是做多线REQ解决方案uest?

回答

0

有关信息我已解决该问题,我已更改类play.db.SQLSplitter。

我改变LIGNE 195和196:

++i; 
CharSequence ret = sql.subSequence(prev, i); 

在:

CharSequence ret = sql.subSequence(prev, i); 
++i; 

所以最终的;没有使用,并且请求工作。