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

Cách tạo tệp văn bản bằng script sql với văn bản |

Ký tự ống dẫn có ý nghĩa đặc biệt trong các lệnh hàng loạt, vì vậy nó phải là đã trốn thoát bằng cách sử dụng ký tự dấu mũ. Điều này sẽ hoạt động:

DECLARE @Text AS VARCHAR(100)
DECLARE @Cmd AS VARCHAR(100)
SET @Text = 'Hello world^| '
SET @Cmd ='echo ' +  @Text + ' > C:\AppTextFile.txt'
EXECUTE Master.dbo.xp_CmdShell  @Cmd

Mặc dù đây thực sự không phải là cách tốt để ghi dữ liệu vào tệp văn bản:thông thường SQL Server không được phép ghi vào thư mục gốc của ổ C:và xp_cmdshell bị tắt theo mặc định. Tôi khuyên bạn nên xem xét các lựa chọn thay thế như sqlcmd.exe , bcp.exe hoặc một tập lệnh nhỏ bằng ngôn ngữ ưa thích của bạn (PowerShell, Perl, Python, bất cứ thứ gì).

Nhìn chung, việc truy vấn dữ liệu từ SQL Server dễ dàng, an toàn và linh hoạt hơn nhiều so với việc đẩy nó ra từ phía máy chủ. Trong trường hợp cụ thể của bạn, có vẻ như bạn muốn ghi ra một tệp được phân tách và bcp.exe được dành cho mục đích đó .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tính toán phạm vi ngày bị thiếu và phạm vi ngày trùng lặp giữa hai ngày

  2. Chèn hàng loạt SQL với mối quan hệ cha / con, thứ tự có được giữ nguyên không?

  3. Câu lệnh cập nhật đơn giản để tất cả các hàng được gán một giá trị khác

  4. Kết hợp giá trị trường thành chuỗi trong SQL Server

  5. SQL Server - [CHỌN] có khóa [CẬP NHẬT] không?