Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Премахване на подпълване при изпращане на резултати от заявка в имейл от SQL Server (T-SQL)

Когато използвате sp_send_dbmail съхранена процедура за изпращане на имейли от SQL Server, имате възможност да добавите резултати от заявка към имейла.

Когато направите това, може да откриете, че към някои колони е добавено нежелано подпълване. За щастие можете да премахнете това подпълване с @query_result_no_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';

Резултат:

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)

В този случай има толкова много запълване, че всичко се прехвърля на следващия ред и заглавките не се подравняват с данните.

След

Ето пример за това как изглеждат резултатите, след като премахнах подложката.

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

Резултат:

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. .NET 4:Как да конфигурирате EDMX файл в друг сборник в Web.Config

  2. Извличане на данни от съхранена процедура, която има множество набори от резултати

  3. Да се ​​параметризира ли името на таблицата в .NET/SQL?

  4. съхранявате арабски в SQL база данни

  5. Какво прави SQL изявлението sargable?