2016-01-06 199 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的帮助 –