我正在使用microsoft sql server 2016。我可以用另一个版本。
我的表中有html页面内容的变量。
sql server表:
PageVariables
Menus
Slides etc.
我可以在sql server中生成页面html而不进行编程吗?
我试着用部分替换。但它不适用于多行表。我也不认为这是正确的方法。
javascript中是否有类似sqlserver的东西,比如mustache、vue、javascript literal?
declare @template nvarchar(max)='<html><head>{title}</title></head><body><div class="menu">{menu}</div></body></html>'
declare @title nvarchar(max)='My Page'
declare @menu nvarchar(max)=''
SELECT 'My Menu-1' AS 'MenuName',
'?link=1' AS 'MenuLink'
UNION ALL
SELECT 'My Menu-2' AS 'MenuName',
'?link=2' AS 'MenuLink'
/*
for @menu
set @menu='<a href="@MenuLink">@MenuName</a>'
next
* /
SET @template = REPLACE(@template, '{title}', @title)
SET @template = REPLACE(@template, '{menu}', @menu)
SELECT @template
这样也很难。
SELECT '?link=1' AS '@href',
'My Menu-1' AS 'span'
UNION ALL
SELECT '?link=2' AS '@href',
'My Menu-2' AS 'span'
FOR XML PATH ('a'), ROOT ('div')
2条答案
按热度按时间sg2wtvxw1#
当您有多行需要合并为单个条目时,您需要执行以下字符串串联操作之一:
使用for xml path连接多行
使用合并连接行
使用字符串\u agg
nwnhqdif2#
这是可行的,但穿刺器是正确的,你可能会很快超过这个技术。
Map表可以包含所需的任意多个项。即使是不需要的项目,也会被忽略。
下面是一个简化的例子。
退货