如何使用其他范围更新整个日期范围

时间:2012-03-29 16:35:49

标签: sql sql-server sql-server-2008 stored-procedures sql-update

我的表名为shiftingDates,后面有列

**ShiftDateID**  **ShiftID** **ShiftDate** **IsNonShiftDate**
 1                 20          3/2/2012       false
 2                 20          3/3/2012       false
 3                 20          3/4/2012       true

如果用户为shift'20'选择另一个班次日期范围,我想更新ShiftDate和IsNonShiftDate列。从UI我只有ShiftID值。请任何暗示我如何完成这项任务。感谢

1 个答案:

答案 0 :(得分:0)

我不知道我是否理解100%的问题:)但我试一试。 你有一个ShiftDateId e..g 2.并希望更新所有3行。

UPDATE YourTable
SET ShiftDate = <YourDate>
  , IsNonSiftDate = <true|false>
WHERE ShiftId = (SELECT ShiftId FROM YourTable WHERE ShiftDateId = <<ourId>)

但是试着回答给我更多问题? - 列InNonShiftDate与工作日有关,所以你必须找出Date的WeekDay()? - 如果你得到一个范围(开始/结束),那么你想在该范围内的每一天插入一行?   这将是一个存储过程,带有CURSOR然后......

所以我想给我们更多关于你的环境的信息,以便给你一个更好的答案。