Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Pernyataan ACCEPT di Oracle PL SQL

ACCEPT adalah perintah klien SQL*Plus dan Pengembang SQL , bukan perintah PL/SQL. Anda sedang menyetel variabel substitusi, yang dapat Anda gunakan di blok anonim dengan:

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

SET serveroutput on;

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

Akan lebih umum untuk menggunakannya dalam SQL:

select '&lastname' from dual;

PL/SQL tidak dirancang untuk digunakan secara interaktif, tetapi tidak jelas apa yang sebenarnya akan Anda lakukan.

Pengembang SQL (setidaknya versi 4.1.3) tampaknya tidak menangani format sama seperti SQL*Plus, yang mungkin merupakan bug. Jika Anda menggunakan ACCEPT seperti yang ditunjukkan pada pertanyaan dan kode di atas tidak ada prompt atau output dari skrip; panel logging menunjukkan pesan 'parah' dari Accept.java:341. Ini berfungsi jika Anda juga menyediakan default:

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

Nilai default tidak ditampilkan di kotak dialog prompt, dan variabel substitusi Anda akan berisi nilai default itu jika Anda hanya meng-OK dialog - yang merupakan perilaku yang diharapkan "jika balasan tidak diberikan". Jika Anda tidak menginginkan default, Anda agak buntu - menentukan default nol (dengan '' ) juga mendapatkan pesan serius yang sama, yang mungkin terkait.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tanggal Oracle sql selambat-lambatnya hari ini

  2. Bagaimana cara menghapus spasi kosong dari kueri SQL * Plus?

  3. meneruskan nama tabel dan kolom secara dinamis menggunakan variabel bind

  4. ROW_NUMBER kueri

  5. tambahkan catatan di nlog ke bidang dengan dataType =date