2016-04-07 15 views
0

für einen Vorschlag Vorstellung: Ich habe eine Tabelle Skript wie:Tool zum Konvertieren einer Tabelle Skript entsprechend zu einem anderen

CREATE TABLE PER_ADDR 
    ( "ADDRESS_ID" NUMBER(18,0) NOT NULL ENABLE, 
    "EFFECTIVE_START_DATE" DATE NOT NULL ENABLE, 
    "EFFECTIVE_END_DATE" DATE NOT NULL ENABLE, 
    "BUSINESS_GROUP_ID" VARCHAR2(264), 
    "ADDRESS_LINE_1" VARCHAR2(240), 
    "ADDRESS_LINE_2" VARCHAR2(240), 
    "ADDRESS_LINE_3" VARCHAR2(240), 
    "ADDRESS_LINE_4" VARCHAR2(240), 
    "BUILDING" VARCHAR2(240), 
    "FLOOR_NUMBER" VARCHAR2(40) 
) 

Dieser Teil von einem Patch ist. und eine andere

CREATE TABLE XX_PER_ADDR 
     ( "ADDRESS_NUM" NUMBER(18,0) NOT NULL ENABLE, 
     "EFFECTIVE_START_DATE" DATE NOT NULL ENABLE, 
     "EFFECTIVE_END_DATE" DATE NOT NULL ENABLE, 
     "BUSINESS_GROUP_ID" VARCHAR2(264), 
     "ADDRESS_LINE_1" VARCHAR2(240), 
     "ADDRESS_LINE_2" VARCHAR2(240), 
     "ADDRESS_LINE_3" VARCHAR2(240), 
     "ADDRESS_LINE_4" VARCHAR2(240), 
     "BUILDING" VARCHAR2(240), 

    ) 

muss ich erste Abfrage von PER_ADDR to XX_PER_ADDR ändern, wird ADDRESS_ID zu ADDRESS_NUM geändert werden sollte .RIGHT jetzt ich es manuell über Excel tue. Gibt es ein Werkzeug, um dies zu tun? Zum Beispiel PER_ADDR to XX_PER_ADDR konvertieren werde ich schreiben müssen:

alter table PER_ADDR 
DROP (FLOOR_NUMBER,ADDRESS_ID); 

ALTER TABLE PER_ADDR 
ADD(ADDRESS_NUM NUMBER(18,0) NOT NULL ENABLE); 

Gibt es irgendein anderes Werkzeug oder jede andere Abhilfe, da es 52 solche Tabelle Vergleiche sind

+0

Sie können die Umbenennungsfunktion verwenden. Also - alter table per_addr benenne Spalte address_id in address_num; um. –

Antwort

1

einfachen Linux sed Befehl den Job tun, zum Beispiel:

cat your_script_file |sed 's/ADDRESS_ID/ADDRESS_NUM/g' > your_new_script_file 
+0

was wird das tun? –

+0

Ersetzen Sie das Token durch neue und erstellen Sie eine neue Datei mit dem – elirevach

+0

, die den neuen Namen – elirevach