sql >> Databáze >  >> RDS >> Oracle

Jak vložit sloupec na konkrétní pozici v oracle bez vypuštění a opětovného vytvoření tabulky?

Amit-

Nevěřím, že po vytvoření tabulky můžete přidat sloupec jinde než na konec tabulky. Jedním z řešení může být zkusit toto:

CREATE TABLE MY_TEMP_TABLE AS
SELECT *
FROM TABLE_TO_CHANGE;

Přetáhněte tabulku, do které chcete přidat sloupce:

DROP TABLE TABLE_TO_CHANGE;

Je to v okamžiku, kdy byste mohli přestavět stávající tabulku od nuly přidáním sloupců, kam si přejete. Předpokládejme, že pro toto cvičení chcete přidat sloupce s názvem „COL2 a COL3“.

Nyní vložte data zpět do nové tabulky:

INSERT INTO TABLE_TO_CHANGE (COL1, COL2, COL3, COL4) 
SELECT COL1, 'Foo', 'Bar', COL4
FROM MY_TEMP_TABLE;

Když jsou data vložena do vaší "nové-staré" tabulky, můžete dočasnou tabulku zrušit.

DROP TABLE MY_TEMP_TABLE;

To je často to, co dělám, když chci přidat sloupce na konkrétní místo. Je zřejmé, že pokud se jedná o produkční on-line systém, pak to pravděpodobně není praktické, ale pouze jeden potenciální nápad.

-CJ



  1. Nastavení fyzického pohotovostního režimu Active Data Guard v architektuře RAC One Node – část 2

  2. Nestrukturovaný obsah:Nevyužitý zdroj paliva pro umělou inteligenci a strojové učení

  3. Vygenerujte náhodné číslo v rozsahu 1-10

  4. MySQL LIKE IN()?