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

Lệnh Spool:Không xuất câu lệnh SQL vào tệp

Rất tiếc, Nhà phát triển SQL không hoàn toàn tuân theo set echo off lệnh sẽ (dường như) giải quyết vấn đề này trong SQL * Plus.

Cách giải quyết duy nhất mà tôi đã tìm thấy cho điều này là lưu những gì bạn đang làm dưới dạng tập lệnh, ví dụ:test.sql với:

set echo off
spool c:\test.csv 
select /*csv*/ username, user_id, created from all_users;
spool off;

Và sau đó từ Nhà phát triển SQL, chỉ có một lệnh gọi đến tập lệnh đó:

@test.sql

Và chạy nó dưới dạng tập lệnh (F5).

Dù sao thì việc lưu dưới dạng tệp kịch bản cũng không phải là một vấn đề khó khăn đối với bất kỳ thứ gì khác ngoài một truy vấn đặc biệt; và chạy nó với @ thay vì mở tập lệnh và chạy trực tiếp nó chỉ là một chút khó khăn.

Một chút tìm kiếm đã tìm thấy giải pháp tương tự trên diễn đàn Nhà phát triển SQL và nhóm phát triển cho rằng đó là hành vi cố ý bắt chước những gì SQL * Plus làm; bạn cần chạy một tập lệnh với @ ở đó nữa để ẩn văn bản truy vấn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PreparedStatement và setTimestamp trong oracle jdbc

  2. Cách lấy số hàng bị ảnh hưởng bởi một câu lệnh khi bên trong trình kích hoạt của câu lệnh đó

  3. Làm cách nào để thoát tập lệnh trong SQLPlus khi xảy ra lỗi và quay lại lời nhắc SQLPlus mà không ngắt kết nối hoặc thoát SQLPlus?

  4. Làm cách nào để thực hiện chèn hàng loạt vào cơ sở dữ liệu Oracle bằng Python?

  5. Hàm PL / SQL trong Oracle không thể thấy DBMS_AQ