相关疑难解决方法(0)

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

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

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万
查看次数

标签 统计

merge ×1

sql ×1

sql-server-2008-r2 ×1