Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да генерирате INSERT изявления от заявка, когато използвате SQLcl (Oracle)

Когато използвате SQLcl с Oracle Database, можете да зададете SQLFORMAT за insert за да изведете резултатите от заявката като INSERT изявления.

Пример

Ето пример за демонстрация:

SET SQLFORMAT insert;
SELECT * FROM regions;

Резултат:

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.

Само за да е ясно, ето резултатите от заявката при използване на ansiconsole :

SET SQLFORMAT ansiconsole;
SELECT * FROM regions;

Резултат:

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

Експортиране във файл

Ако трябва да съхраните INSERT изрази във файл, можете да използвате SPOOL команда за експортиране на резултатите във файл.

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

Това експортира резултата във файл, наречен insert_regions.sql на посоченото място.

След като заявката беше експортирана във файл, зададох SPOOL за off и SQLFORMAT към ansiconcole .

Ето как изглежда полученият файл:

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. 

Премахване на обратна връзка

Можете да премахнете X rows selected с SET FEEDBACK off :

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

Резултат:

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');

В този случай обърнах FEEDBACK отново след експортиране на файла и задайте SQLFORMAT обратно към 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. Oracle – Какъв файл с имена на TNS използвам?

  2. Обединяване/комбиниране на множество PDF файлове в един PDF в Oracle с помощта на PLPDF_TOOLKIT PL/SQL пакет

  3. Сравнение на доставчици, съвместими с Entity Framework за Oracle?

  4. Търсенето без регистри и букви в Oracle

  5. Подзаявката на Oracle не вижда променливата от външния блок 2 нива нагоре