sql >> Databáze >  >> RDS >> Sqlserver

Odebrat odsazení při odesílání výsledků dotazu v e-mailu ze serveru SQL (T-SQL)

Když použijete sp_send_dbmail uložená procedura pro odesílání e-mailů ze serveru SQL, máte možnost přidat výsledky dotazu do e-mailu.

Když to uděláte, můžete zjistit, že do některých sloupců bylo přidáno nežádoucí odsazení. Naštěstí můžete toto odsazení odstranit pomocí @query_result_no_padding argument.

Před

Zde je příklad toho, jak by mohly výsledky vypadat s odsazení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';

Výsledek:

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)

V tomto případě se odehrává tolik výplní, že se vše zalomí na další řádek a záhlaví se neshodují s daty.

Po

Zde je příklad toho, jak vypadají výsledky poté, co jsem odstranil výplň.

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

Výsledek:

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. Předání pole dat jako vstupního parametru proceduře Oracle

  2. 2 způsoby, jak vrátit seznam propojených serverů v SQL Server pomocí T-SQL

  3. PostgreSQL běží pomalu? Tipy a triky, jak se dostat ke zdroji

  4. Náhodný záznam z databázové tabulky (T-SQL)