Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wstawić kolumnę w określonej pozycji w Oracle bez upuszczania i ponownego tworzenia tabeli?

Amit-

Nie wierzę, że możesz dodać kolumnę w dowolnym miejscu, ale na końcu tabeli po utworzeniu tabeli. Jednym z rozwiązań może być wypróbowanie tego:

CREATE TABLE MY_TEMP_TABLE AS
SELECT *
FROM TABLE_TO_CHANGE;

Upuść tabelę, do której chcesz dodać kolumny:

DROP TABLE TABLE_TO_CHANGE;

Jest to moment, w którym możesz przebudować istniejącą tabelę od podstaw, dodając kolumny tam, gdzie chcesz. Załóżmy, że w tym ćwiczeniu chcesz dodać kolumny o nazwach „COL2 i COL3”.

Teraz wstaw dane z powrotem do nowej tabeli:

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

Po wstawieniu danych do „nowej-starej” tabeli możesz upuścić tabelę tymczasową.

DROP TABLE MY_TEMP_TABLE;

Często tak robię, gdy chcę dodać kolumny w określonej lokalizacji. Oczywiście, jeśli jest to system produkcyjny on-line, to prawdopodobnie nie jest to praktyczne, ale tylko jeden potencjalny pomysł.

-CJ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:Połącz wiele wyników w podzapytaniu w jedną wartość oddzieloną przecinkami

  2. Skrypt do znajdowania wielopoziomowych zależności pakietu

  3. Zależności klienta Oracle.DataAccess

  4. Oracle.DataAccess nie jest dostępny do wyboru w Visual Studio 2013

  5. Twórz i konfiguruj Oracle Linked Server w SQL Server