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

Loại bỏ đệm khi gửi kết quả truy vấn trong email từ SQL Server (T-SQL)

Khi bạn sử dụng sp_send_dbmail thủ tục được lưu trữ để gửi email từ SQL Server, bạn có tùy chọn thêm kết quả truy vấn vào email.

Khi bạn làm điều này, bạn có thể thấy rằng phần đệm không mong muốn đã được thêm vào một số cột. May mắn thay, bạn có thể loại bỏ phần đệm này bằng @query_result_no_padding đối số.

Trước

Dưới đây là một ví dụ về kết quả có thể trông như thế nào với padding.

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an Admin job, perhaps?',
    @query = 'SELECT TOP(5) * FROM Artists;',
    @execute_query_database = 'Music',
    @subject = 'Query results as discussed';

Kết quả:

Potential candidates for an Admin job, perhaps?
ArtistId    ArtistName                                                
           ActiveFrom      
----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------- ----------------
         1 Iron Maiden                                                   
                 1975-12-25
         2 AC/DC                                                          
                 1973-01-11
         3 Allan Holdsworth                                           
                 1969-01-01
         4 Buddy Rich                                                    
                 1919-01-01
         5 Devin Townsend                                            
                 1993-01-01

(5 rows affected)

Trong trường hợp này, có quá nhiều khoảng đệm xảy ra đến nỗi mọi thứ sẽ dồn sang dòng tiếp theo và các tiêu đề không phù hợp với dữ liệu.

Sau

Dưới đây là một ví dụ về kết quả trông như thế nào sau khi tôi xóa phần đệm.

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Potential candidates for an Admin job, perhaps?',
    @query = 'SELECT TOP(5) * FROM Artists;',
    @execute_query_database = 'Music',
    @subject = 'Query results as discussed';

Kết quả:

Potential candidates for an Admin job, perhaps?
ArtistId ArtistName ActiveFrom
-------- ---------- ----------
1 Iron Maiden 1975-12-25
2 AC/DC 1973-01-11
3 Allan Holdsworth 1969-01-01
4 Buddy Rich 1919-01-01
5 Devin Townsend 1993-01-01

(5 rows affected)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kiểm tra xem IDENTITY_INSERT được đặt thành BẬT hay TẮT trong SQL Server?

  2. Thay đổi thông báo với Sql Server 2008

  3. Cách sys.dm_exec_describe_first_result_set_for_object hoạt động trong SQL Server

  4. Sử dụng các thủ tục được lưu trữ trên SQL Server từ Python (pyodbc)

  5. Vi phạm ràng buộc UNIQUE KEY trên INSERT WHERE COUNT (*) =0 trên SQL Server 2005