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

Bagaimana cara keluar dari skrip di SQLPlus ketika terjadi kesalahan dan kembali ke prompt SQLPlus, tanpa memutuskan atau keluar dari SQLPlus?

Saya telah menemukan ide menarik di sini yang, ketika dikombinasikan dengan jawaban spencer7593, akan membuat saya panggilan sub-skrip selektif, yang dapat saya berikan nilai output PL/SQL. Yaitu:

VAR continue number;
EXEC :continue := 1;
BEGIN
   SELECT some_bool_test() INTO :continue FROM dual;
END;

SET termout OFF
COLUMN script_name NEW_VALUE v_script_name
SELECT decode(:continue, 1, 'run_stuff.sql', 'skip.sql') script_name FROM dual;
SET termout ON

@&v_script_name :some_other_values

Dimana skip.sql adalah file teks kosong.
 

PERBARUI: Saya telah memindahkan sebagian besar dari ini ke RUN.SQL file, di mana saya meneruskan boolean (0 atau 1) sebagai &1 , nama skrip untuk memanggil sukses sebagai &2 , lalu parameter lain yang diharapkan untuk diteruskan ke skrip yang dipanggil. Jadi, akhirnya terlihat seperti ini:

VAR continue number;
EXEC :continue := 1;
BEGIN
   SELECT some_bool_test() INTO :continue FROM dual;
END;

@run.sql :continue 'run_stuff.sql' :some_other_values


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengganti Baris Baru di Oracle

  2. Apakah mungkin untuk membunuh satu kueri di Oracle tanpa mematikan sesi?

  3. Cara menghapus baris di oracle

  4. Mengisi Nilai Item Tampilan Pada Query Dalam Oracle Forms

  5. Bagaimana cara memasukkan karakter khusus seperti &di database Oracle?