Jika Anda mencoba menjalankan kueri multi-baris di SQLcl atau SQL*Plus, dan Anda terus mendapatkan kesalahan seperti "Perintah Tidak Dikenal", tetapi menjalankannya di Pengembang SQL tidak menyebabkan kesalahan seperti itu, mungkin posting ini akan membantu.
Secara default, SQLcl dan SQL*Plus tidak mengizinkan baris kosong dalam pernyataan SQL. Namun, Anda dapat mengubahnya dengan SET SQLBLANKLINES
perintah.
Sintaks
Sintaksnya seperti ini:
SET SQLBL[ANKLINES] {ON | OFF}
Ini berarti Anda dapat menggunakan SQLBLANKLINES
lengkap atau bentuk singkatannya SQLBL
, dan Anda dapat menyetelnya ke ON
atau OFF
.
Ini OFF
secara default. Menyetelnya ke ON
akan memungkinkan Anda untuk memasukkan baris kosong dalam kode Anda.
Contoh
Pertama, saya akan memeriksa pengaturan saya saat ini:
SHOW SQLBLANKLINES
Hasil:
sqlblanklines OFF
Saat ini, dukungan untuk baris kosong dinonaktifkan.
Misalkan kita memiliki pernyataan SQL berikut:
SELECT 3 * 10
FROM DUAL;
Inilah yang terjadi jika saya menyalin dan menempelkannya ke SQLcl dan mencoba menjalankannya:
SQL> SELECT 3 * 10 2 3* FROM DUAL; Error starting at line : 1 in command - SELECT 3 * 10 Error at Command Line : 1 Column : 13 Error report - SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected" *Cause: *Action: Error starting at line : 1 in command - FROM DUAL Error report - Unknown Command
Pernyataan gagal, karena baris kosong.
Setel SQLBLANKLINES
ke ON
Sekarang mari kita atur SQLBLANKLINES
ke ON
:
SET SQLBLANKLINES ON
Dan jalankan kueri lagi:
SELECT 3 * 10
FROM DUAL;
Sekarang inilah yang saya dapatkan:
SQL> SELECT 3 * 10 2 3* FROM DUAL; 3*10 _______ 30
Kali ini pernyataan berhasil.
Formulir Singkat
Sebagai alternatif, Anda dapat menggunakan bentuk singkatan SQLBL
.
Contoh mengembalikan pengaturan saat ini:
SHOW SQLBL
Hasil:
sqlblanklines ON
Contoh mematikannya, dan menampilkannya lagi:
SET SQLBL OFF
SHOW SQLBL
Hasil:
sqlblanklines OFF