小编Kit*_*Fox的帖子

"合并"样式操作与文字值?

我有一张包含学生级关系的表格:

Student   Grade   StartDate   EndDate
   1        1    09/01/2009    NULL
   2        2    09/01/2010    NULL
   2        1    09/01/2009   06/15/2010
Run Code Online (Sandbox Code Playgroud)

我试图写一个存储过程,它接受Student,Grade以及StartDate和我会把它想

  1. 检查以确保这些值不重复
  2. 如果记录不重复,请插入记录
  3. 如果有现有的学生记录,并且有a EndDate = NULL,则用StartDate新记录更新该记录.

举例来说,如果我调用过程并传递1,2,09/01/2010,我想直到结束:

Student   Grade   StartDate   EndDate
   1        2    09/01/2010    NULL
   1        1    09/01/2009   09/01/2010
   2        2    09/01/2010    NULL
   2        1    09/01/2009   06/15/2010
Run Code Online (Sandbox Code Playgroud)

这听起来像我可以使用MERGE,除了我传递文字值,我需要执行多个操作.今天早上我也有一个邪恶的头痛,似乎无法清楚地思考,所以我正在关注这个MERGE解决方案.如果有更明显的方法可以做到这一点,不要害怕指出它.

sql merge sql-server-2008-r2

12
推荐指数
3
解决办法
1万
查看次数

使用“FOR XML PATH”时如何避免编码?

使用FOR XML PATH编码我的 HTML 使我的超链接毫无用处。我看到其他人正在使用value方法来防止编码。然而,这去掉了我需要的表结构。我可以进行搜索替换,有效地解码 html。这似乎不是正确的做法。

此查询中的 Company 列是有问题的子项:

DECLARE @tableHTML NVARCHAR(MAX)
DECLARE @subj VARCHAR(255)
    
SET @tableHTML =
    N'<style type="text/css">' +
    N'table, td {border-collapse: collapse; vertical-align: top; text-align: left;font-family: Calibri; font-size: 12px;}' +
    N'th {vertical-align: middle; text-align: left;border-bottom-style: solid; border-bottom-width: 0px; border-bottom-color: #CCCCCC; background-color: #000000; color: #FFFFFF;}' +
    N'td {border-bottom-style: solid; border-bottom-width: 0px; border-bottom-color: #CCCCCC}' +
    N'</style>' +

    N'<h3 style="font-family: Calibri">Contacts:</h3>' +

    N'<table id="bodyTable" cellpadding="5" cellspacing="5" style="border: 1px solid #C0C0C0; vertical-align: top; text-align: left; …
Run Code Online (Sandbox Code Playgroud)

xml t-sql sql-server xhtml for-xml

4
推荐指数
2
解决办法
3057
查看次数

标签 统计

for-xml ×1

merge ×1

sql ×1

sql-server ×1

sql-server-2008-r2 ×1

t-sql ×1

xhtml ×1

xml ×1