Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sự cố khi người dùng nhập dữ liệu trong lệnh sql

Các biến thay thế là tùy chọn kết thúc bằng dấu chấm để tách chúng khỏi bất kỳ ký tự nào theo sau. Nếu bạn cũng muốn sử dụng một trong chuỗi, bạn phải thêm phần kết thúc đó một cách rõ ràng:

spool E:\abc\Test\File1_&MYPeriod..csv

Đối với sự cố hai dòng bổ sung, hãy thêm set verify off ; tại thời điểm này, nó được đặt thành on (theo mặc định) để nó hiển thị cho bạn giá trị cũ và mới của bất kỳ biến thay thế nào mà bạn sử dụng.

Cách duy nhất tôi biết để lấy ngày vào tên tệp là đặt nó vào một biến thay thế trước:

set termout off
column x_run_dt new_value y_run_dt
select to_char(sysdate, 'YYYYMMDDHH24MISS') as x_run_dt from dual;
set termout on
spool E:\abc\Test\File1_&MYPeriod._&y_run_dt..csv

new_value mệnh đề cho phép bạn tạo một biến thay thế, &y_run_dt trong trường hợp này, với giá trị từ cột được truy vấn, x_run_dt . Bao bọc vùng chọn tạo ra giá trị đó giữa set termout mệnh đề ẩn nó khỏi đầu ra bình thường, khi chạy dưới dạng tập lệnh.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm INSTR () trong Oracle

  2. Oracle trả về cùng một bí danh cho các trường hợp khác nhau trên lựa chọn

  3. Oracle SQL / Java:Lấy kích thước của tập dữ liệu trả về từ một truy vấn

  4. % đăng nhập PreparedStatement của Java

  5. ORA-00907:thiếu dấu ngoặc đơn bên phải