Próbuję skopiować dane z jednego schematu Oracle (CORE_DATA
) do innego (MY_DATA
) przy użyciu instrukcji SQL INSERT INTO (...)
.Kopiowanie danych między schematami Oracle przy użyciu SQL
Jak wyglądałoby zapytanie SQL?
Próbuję skopiować dane z jednego schematu Oracle (CORE_DATA
) do innego (MY_DATA
) przy użyciu instrukcji SQL INSERT INTO (...)
.Kopiowanie danych między schematami Oracle przy użyciu SQL
Jak wyglądałoby zapytanie SQL?
Przedrostek wasze imiona stołowych z nazwami schematu po zalogowaniu się jako użytkownik z dostępem do obu:
insert into MY_DATA.table_name select * from CORE_DATA.table_name;
Zakładając, że tabele są zdefiniowane identycznie w obu schematów, powyższe będzie skopiować wszystkie rekordy z tabeli o nazwie table_name w CORE_DATA do tabeli o nazwie table_name w MY_DATA.
schematu musi mieć grant utworzyć dowolną przywilej stołowego dla tego
usage: COPY FROM [db] TO [db] [opt] [table] { ([cols]) } USING [sel]
[db] : database schema string, e.g., grprass/[email protected], pplan/[email protected]
[opt] : ONE of the keywords: APPEND, CREATE, INSERT or REPLACE
[table]: name of the destination table
[cols] : a comma-separated list of destination column aliases (optional)
[sel] : any valid SQL SELECT statement
SQL> COPY FROM scott/[email protected] TO scott/[email protected] insert mytable using select * from mytable;
Należy również upewnić się, że użytkownik ma wybierz dotacje na CORE_DATE.table_name. Zakładam, że twój użytkownik ma odpowiednie granty na MY_DATE.table_name – Owen
powinieneś wiedzieć, że powyższe rozwiązanie działa, ale ograniczenia nie zostaną skopiowane –
Dzięki. Po prostu chciałem przenieść dane. – chabzjo