Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Процедура на Update

$
0
0
Всем привет!

SQL 2005, правлю из Acess

Помогите пожалуйста с синтаксисом процедурки на добавление

Была вот такая
UPDATE      dbo.tbl_ShiftProtocol
SET               ID_Shift =
                            (SELECT      CASE WHEN datediff(mi, dateadd(dd, datediff(dd, 0, DateTime), 0), datetime) > 1200 OR
                                                      datediff(mi, dateadd(dd, datediff(dd, 0, DateTime), 0), datetime) <= 480 THEN 2 ELSE 1 END AS od
                              FROM           tbl_ShiftProtocol AS od
                              WHERE       tbl_ShiftProtocol.id = od.id)


Необходимо сделать три смены вместо двух

пытаюсь написать вот так, не принимает

UPDATE      dbo.tbl_ShiftProtocol
SET               ID_Shift =
                            (SELECT      CASE WHEN datediff(mi, dateadd(dd, datediff(dd, 0, DateTime), 0), datetime) > 0 OR datediff(mi, dateadd(dd, datediff(dd, 0, DateTime), 0), datetime) <= 480 THEN 3 
                                               WHEN datediff(mi, dateadd(dd, datediff(dd, 0, DateTime), 0), datetime) > 480 OR datediff(mi, dateadd(dd, datediff(dd, 0, DateTime), 0), datetime) <= 960 THEN 1
                                                 ELSE 2 END AS od
                              WHERE       tbl_ShiftProtocol.id = od.id)


Как это сделать правильно?

Viewing all articles
Browse latest Browse all 7251

Trending Articles