Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Usuń wypełnienie podczas wysyłania wyników zapytania w wiadomości e-mail z serwera SQL (T-SQL)

Kiedy używasz sp_send_dbmail procedury przechowywanej do wysyłania wiadomości e-mail z serwera SQL, masz możliwość dodania wyników zapytania do wiadomości e-mail.

Gdy to zrobisz, może się okazać, że do niektórych kolumn dodano niechciane dopełnienie. Na szczęście możesz wyeliminować to dopełnienie za pomocą @query_result_no_padding argument.

Przed

Oto przykład tego, jak mogą wyglądać wyniki z dopełnieniem.

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';

Wynik:

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)

W tym przypadku jest tak dużo wypełniania, że ​​wszystko przechodzi do następnej linii, a nagłówki nie pokrywają się z danymi.

Po

Oto przykład tego, jak wyglądają wyniki po usunięciu wypełnienia.

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';

Wynik:

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. Automatyczne zbieranie danych o zmianach schematu bazy danych w MS SQL Server

  2. Zwróć procent zbioru wyników w SQL Server

  3. Nie można obciąć tabeli, ponieważ odwołuje się do niej ograniczenie klucza obcego?

  4. Jaki jest najlepszy sposób tworzenia i wypełniania tabeli liczb?

  5. Indeksy wielokrotne a indeksy wielokolumnowe