Nếu bạn đang cố gắng chạy một truy vấn nhiều dòng trong SQLcl hoặc SQL * Plus và bạn tiếp tục gặp lỗi như “Lệnh không xác định”, nhưng chạy nó trong Nhà phát triển SQL không gây ra lỗi như vậy, có thể bài đăng này sẽ hữu ích.
Theo mặc định, SQLcl và SQL * Plus không cho phép dòng trống trong câu lệnh SQL. Tuy nhiên, bạn có thể thay đổi điều này bằng SET SQLBLANKLINES
lệnh.
Cú pháp
Cú pháp như sau:
SET SQLBL[ANKLINES] {ON | OFF}
Điều này có nghĩa là bạn có thể sử dụng SQLBLANKLINES
đầy đủ hoặc dạng viết tắt của nó SQLBL
và bạn có thể đặt nó thành ON
hoặc OFF
.
Nó OFF
theo mặc định. Đặt nó thành ON
sẽ cho phép bạn bao gồm các dòng trống trong mã của mình.
Ví dụ
Trước tiên, tôi sẽ kiểm tra cài đặt hiện tại của mình:
SHOW SQLBLANKLINES
Kết quả:
sqlblanklines OFF
Hiện tại, hỗ trợ cho các dòng trống đã bị vô hiệu hóa.
Giả sử chúng ta có câu lệnh SQL sau:
SELECT 3 * 10
FROM DUAL;
Đây là những gì sẽ xảy ra nếu tôi sao chép và dán nó vào SQLcl và cố gắng thực thi nó:
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
Câu lệnh không thành công do dòng trống.
Đặt SQLBLANKLINES
thành ON
Bây giờ hãy đặt SQLBLANKLINES
thành ON
:
SET SQLBLANKLINES ON
Và chạy lại truy vấn:
SELECT 3 * 10
FROM DUAL;
Bây giờ đây là những gì tôi nhận được:
SQL> SELECT 3 * 10 2 3* FROM DUAL; 3*10 _______ 30
Lần này tuyên bố thành công.
Dạng viết tắt
Ngoài ra, bạn có thể sử dụng biểu mẫu viết tắt SQLBL
.
Ví dụ về việc trả lại cài đặt hiện tại:
SHOW SQLBL
Kết quả:
sqlblanklines ON
Ví dụ về cách tắt và hiển thị lại:
SET SQLBL OFF
SHOW SQLBL
Kết quả:
sqlblanklines OFF