01.12.09, 11:25
Czy wie ktos jak powinien wygladac SQL script dla Oracle Datatabase.
Zadaniem tego scriptu byloby zmienic wartosc w jednej kolumnie. Mam
arkusz Excel z wlasciwymi danymi I chcilalbym uaktualnic baze
danych. Arkusz Excel zawiera takie same kolumny co Oracle Database,
ale niektore wartosci musza byc zmienione. W Oracle DB mam unikalne
wartosci w jednej kolumnie, za pomoca ktorych chcialbym znalezc dane
I zamienic wartosc w jednej kolumnie.


Reasumujac mam arkusz excel z wartosciami do zmiany. Mozna je
zlokalizowac za pomoca primary key. Wartosci z Excela chcialbym zeby
za pomoca SQL zamienily wartosc w jednej kolumnie (odpowiadajaca
Excelowi) a zostawily reszte wartosci.
Obserwuj wątek
    • user0001 Re: Oracle DB 01.12.09, 20:15
      Wiem, że nie jest to rozwiązanie profesjonalne, ale kiepsko znam
      excela:

      Mam nadzieję, że kolumna którą chcesz aktualizować to normalna
      liczba, a nie jakiś tekst (tekst będzie wymgał zadbania o cytowanie
      apostrofów.

      Zbudowałbym formułę tworzącą tekst zapytania, pewnie przy użyciu
      funkcji złącz.tekst u ułożyłbym najprostrzego update:
      UPDATE tabela SET kolumna_do_zmiany = wartosc_z_excela WHERE
      klucz_glowny = klucz_z_excela;
      Jeżeli wartosc_z_excela jest tekstem to należy ją zamknąć w
      apostrowy, a ewentualne apostrofy w wartości zastąpić parą
      apostrofów (na poziome excela). Średnik na końcu jest istotny.

      Mając w kolumnie serię takich updateów skopiowałbym i wkleiłbym je
      do SQL Developera i uruchomił (oczywiśce w transakcji. Zanim
      zatwierdziłbym transakcję sprawdziłbym czy aktualizacji jest tyle co
      potrzeba).

      Jeszcze raz podkreślam, to nie jest rozwiązanie, a jedynie "drut"
      mający jednorazowo załatwić dziwne zadanie.

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka