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

Jak wygenerować instrukcje INSERT z zapytania przy użyciu SQLcl (Oracle)

Używając SQLcl z bazą danych Oracle, możesz ustawić SQLFORMAT insert aby wyprowadzić wyniki zapytania jako INSERT oświadczenia.

Przykład

Oto przykład do zademonstrowania:

SET SQLFORMAT insert;
SELECT * FROM regions;

Wynik:

REM INSERTING into REGIONS
SET DEFINE OFF;
Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe');
Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas');
Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia');
Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa');

4 rows selected.

Dla jasności, oto wyniki zapytania przy użyciu ansiconsole :

SET SQLFORMAT ansiconsole;
SELECT * FROM regions;

Wynik:

   REGION_ID               REGION_NAME 
____________ _________________________ 
           1 Europe                    
           2 Americas                  
           3 Asia                      
           4 Middle East and Africa    

Eksportuj do pliku

Jeśli potrzebujesz zapisać INSERT instrukcji w pliku, możesz użyć SPOOL polecenie, aby wyeksportować wyniki do pliku.

SET SQLFORMAT insert;
SPOOL '/Users/barney/data/insert_regions.sql';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole;

To wyeksportowało wynik do pliku o nazwie insert_regions.sql w określonej lokalizacji.

Po wyeksportowaniu zapytania do pliku ustawiłem SPOOL do off i SQLFORMAT do ansiconcole .

Oto jak wygląda wynikowy plik:

REM INSERTING into REGIONS
SET DEFINE OFF;
Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe');
Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas');
Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia');
Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa');

4 rows selected. 

Usuń opinię

Możesz usunąć X rows selected z SET FEEDBACK off :

SET SQLFORMAT insert;
SET FEEDBACK off;
SELECT * FROM regions;
SET FEEDBACK on;
SET SQLFORMAT ansiconsole;

Wynik:

REM INSERTING into REGIONS
SET DEFINE OFF;
Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe');
Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas');
Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia');
Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa');

W tym przypadku włączyłem FEEDBACK ponownie po wyeksportowaniu pliku i ustaw SQLFORMAT powrót do ansiconsole .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego nie mogę wprowadzić tej daty do tabeli za pomocą sql?

  2. Oracle 11g pobiera wszystkie dopasowane wystąpienia za pomocą wyrażenia regularnego

  3. Jak mogę wybrać z listy wartości w Oracle?

  4. Jak zmniejszyć tabelę temp w Oracle?

  5. Powtarzające się wiersze na podstawie wartości kolumny w każdym wierszu