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