2016-01-06 136 views
0

HTML錨標記我想使用存儲過程中的錨標記,將作爲郵件的正文中發送和它不工作在存儲過程

declare @loginlink VARCHAR(MAX)=N''; 

SELECT @ LOGINLINK = N「'+ CONVERT(varchar(36),@loginlink)+'ClickMe」 AS CaseLink

+0

我想你忘了問題。這篇文章中沒有任何細節。什麼是問題?你想做什麼?你到目前爲止在這裏會返回「ClickMe」。請看這篇文章。 http://stackoverflow.com/help/mcve –

回答

0

如果您想知道如何將T-SQL變量設置爲HTML錨點,那麼您可以使用下面的代碼。只需用您的情況中的值替換href值即可。

請注意圍繞href值使用兩個單引號。這是必要的,因爲我們希望單引號圍繞href值,並且我們使用單引號將字符串封裝在SQL Server中。

declare @loginlink VARCHAR(MAX)=N''; 
set @loginlink = '<a href=''http://www.yahoo.com''>Click Me</a>'; 
SELECT @loginlink as CaseLink; 

如果你想使用T-SQL變量錨鏈接的href的一部分,那麼你可以使用類似的代碼如下。

declare @loginlink VARCHAR(MAX)=N''; 
DECLARE @href varchar(500); 
SET @href = 'http://www.yahoo.com'; 

set @loginlink = '<a href=''' + @href + '''>Click Me</a>'; 
SELECT @loginlink as CaseLink; 

如果您發送使用database mail,那麼你需要創建與所有相關的HTML標籤一個HTML頁面和發送的身體,再加上你需要確保該郵件格式是Html此鏈接。

declare @body nvarchar(max) 
set @body = '<html><head><title>Results</title></head><body>' + @loginlink + '</body></html>' 

EXEC sp_send_dbmail 
    @profile_name='emailProfile', 
    @copy_recipients ='[email protected]', 
    @recipients='[email protected]', 
    @subject='New Results', 
    @[email protected] , --this needs to be an html with all necessary html tags 
    @body_format = 'HTML' ; 
+0

不工作,它把它當作一個字符串,我不想要 –

+0

你怎麼使用它?當我複製並粘貼到HTML頁面時,它工作在我的最後。 – Sunil

+0

如果您通過'數據庫郵件發送',那麼你需要創建主體作爲一個HTML頁面與所有的HTML頁面標記,而不僅僅是錨鏈接本身。 – Sunil

0

OMG這是一個非常愚蠢的錯誤,我沒有

EXECUTE AS USER = 'dbo' 
    EXEC msdb.dbo.sp_send_dbmail 
    @recipients='abc.com ', 
     @copy_recipients='abc.com', 
     [email protected]_copy_recipients= 
     @from_address = 'abc.com', 
     [email protected]_to= 
     @importance='High', -- High | Normal | Low 
     @profile_name = 'test', 
     @subject = @EmailSubject, 
     @body = @EmailBody, 
    @body_format='HTML'; --TEXT | HTML 

@ body_format = 'HTML'; --TEXT | HTML :::我的郵件正文格式被設置爲文本,這就是爲什麼它不處理錨標記,因爲它

+0

這就是我今天在我的帖子中提到的一個小時aback.'plus,你需要確保郵件格式是Html.' – Sunil

+0

感謝Sunil的幫助 –