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

Изявление ACCEPT в Oracle PL SQL

ACCEPT е клиентска команда за SQL*Plus и SQL Developer , а не PL/SQL команда. Задавате заместваща променлива, която можете да използвате в анонимен блок с:

ACCEPT lastname CHAR FORMAT 'A20' PROMPT 'Enter employee lastname:  '

SET serveroutput on;

BEGIN
  DBMS_OUTPUT.PUT_LINE('&lastname');  
END;
/

Все пак би било по-често да се използва в SQL:

select '&lastname' from dual;

PL/SQL не е проектиран да се използва интерактивно, но не е ясно какво наистина ще правите.

SQL Developer (поне версия 4.1.3) изглежда не обработва format съвсем същото като SQL*Plus, което може да е грешка. Ако използвате ACCEPT, както е показано във въпроса и кода по-горе, няма подкана или изход от скрипта; панелът за регистриране показва „сериозно“ съобщение от Accept.java:341. Работи, ако предоставите и по подразбиране:

ACCEPT lastname CHAR FORMAT 'A20' DEFAULT 'dummy' PROMPT 'Enter employee lastname:  '

Стойността по подразбиране не се показва в диалоговия прозорец за подкана и вашата променлива за заместване ще съдържа тази стойност по подразбиране, ако просто ОК диалога - което е очакваното поведение "ако не бъде даден отговор". Ако не искате по подразбиране, вие все пак сте малко задръстени - указвайки нулева по подразбиране (с '' ) също получава същото сериозно съобщение, което може да е свързано.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. System.Data.OracleClient изисква клиентски софтуер на Oracle версия 8.1.7

  2. Прочетете ARRAY от STRUCT, върнат от съхранена процедура

  3. Oracle Lag функция с динамичен параметър

  4. как да изпращам SMS чрез oracle 11g? клиентът е жаба и в Индия трябва да изпратя sms

  5. Oracle динамичен DESC и ASC в ред по