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

Генериране на SQL*Plus скрипт с помощта на SQL*Plus

Проблемът е, че SQL*Plus интерпретира първия ви ; като терминатор за командата. Може би сте забелязали, че ако напишете вашите команди в текстов файл и го изпълните (или го редактирате в текстов редактор с SQL*Plus), тя работи.

За да работи с писане на живо, ако наистина искате да го направите (изглежда малко вероятно, ако ще са много дълги!), можете да изключите автоматичното откриване на терминатора с SET SQLTERMINATOR off . Имайте предвид, че ще трябва да кажете на SQL*Plus, че сте готови и че трябва да се изпълни с / инструкция като втория ; също се игнорира.

SQL> SPOOL myscript.sql
SQL> SET SQLTERMINATOR off
SQL> SELECT q'[SPOOL log
  2  SELECT COUNT(*) FROM DUAL;
  3  PROMPT Done.
  4  ]' FROM DUAL
  5  /
SPOOL log
SELECT COUNT(*) FROM DUAL;
PROMPT Done.

Ако ги създавате от речника на данните, друга опция е да използвате PL/SQL за извършване на заявките и манипулациите и dbms_output за да произведете изхода, който ще обработите, стига крайният размер на файла да не надвишава ограниченията на буфера.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите самозатварящ се xml таг в Oracle PLSQL?

  2. как да деактивирате едновременни връзки от един потребител на oracle

  3. Как да се свържа с база данни с помощта на QOCI или QODBC с правилно кодиране?

  4. Oracle SQL рекурсия за намиране на първи екземпляр на ненулева стойност на колона

  5. Формат на датата на часовата зона в Oracle