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

Jak odebrat záhlaví sloupců při odesílání výsledků dotazu e-mailem na SQL Server (T-SQL)

Když použijete sp_send_dbmail uložená procedura k odeslání výsledků dotazu e-mailem, záhlaví sloupců jsou standardně zahrnuta.

Záhlaví sloupců můžete zahrnout nebo vyloučit pomocí @query_result_header argument. Chcete-li odstranit záhlaví sloupců, použijte @query_result_header = 0 .

Příklad

Zde je příklad k demonstraci.

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Top 5 cities:',
    @query = 'SELECT TOP(5) * FROM city;',
    @execute_query_database = 'World',
    @query_result_header = 0,
    @query_result_no_padding = 1,
    @subject = 'Query results as discussed';

Výsledek:

Top 5 cities:
1 Kabul AFG Kabol 1780000
2 Qandahar AFG Qandahar 237500
3 Herat AFG Herat 186800
4 Mazar-e-Sharif AFG Balkh 127800
5 Amsterdam NLD Noord-Holland 731200

(5 rows affected)

V tomto příkladu jsem také použil @query_result_no_padding = 1 k odstranění všech výplní, které by mohly být použity na sloupcích.

Pokud dáváte přednost tomu, aby byly jednotlivé sloupce odděleny čárkou, použijte @query_result_separator = ',' .

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Top 5 cities:',
    @query = 'SELECT TOP(5) * FROM city;',
    @execute_query_database = 'World',
    @query_result_header = 1,
    @query_result_no_padding = 1,
    @query_result_separator = ',',
    @subject = 'Query results as discussed';

Výsledek:

Top 5 cities:
ID,Name,CountryCode,District,Population
--,----,-----------,--------,----------
1,Kabul,AFG,Kabol,1780000
2,Qandahar,AFG,Qandahar,237500
3,Herat,AFG,Herat,186800
4,Mazar-e-Sharif,AFG,Balkh,127800
5,Amsterdam,NLD,Noord-Holland,731200

(5 rows affected)

Zahrnout záhlaví sloupců

Chcete-li explicitně zahrnout záhlaví sloupců, použijte @query_result_header = 1 .

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DB Admin Profile',  
    @recipients = '[email protected]',  
    @body = 'Top 5 cities:',
    @query = 'SELECT TOP(5) * FROM city;',
    @execute_query_database = 'World',
    @query_result_header = 1,
    @query_result_no_padding = 1,
    @subject = 'Query results as discussed';

Výsledek:

Top 5 cities:
ID Name CountryCode District Population
-- ---- ----------- -------- ----------
1 Kabul AFG Kabol 1780000
2 Qandahar AFG Qandahar 237500
3 Herat AFG Herat 186800
4 Mazar-e-Sharif AFG Balkh 127800
5 Amsterdam NLD Noord-Holland 731200

(5 rows affected)

  1. Nejrychlejší způsob, jak provádět vnořené hromadné vkládání s použitím scope_identity()?

  2. Jak mohu odeslat e-mail ze spouštěče PostgreSQL?

  3. Získejte počet neúspěšných pokusů o přihlášení kvůli nesprávnému heslu na SQL Server (T-SQL)

  4. Postup:Vytvořte spouštěč pro datum změny automatické aktualizace pomocí SQL Server 2008