Sentencia CASE en consulta SQLite

¿Por qué esta consulta no funciona? :( Intenté reemplazar la instrucción IF anidada "... SET lkey = IF (lkey> = 11, lkey - 5, IF (lkey> 5, lkey + 2, lkey))"

UPDATE pages
SET lkey = CASE lkey WHEN lkey >= 11 THEN
        lkey - 5
    ELSE
        CASE lkey WHEN lkey > 5 THEN
            lkey + 2
        ELSE
            lkey
        END
    END,
    rkey = CASE lkey WHEN lkey >= 11 THEN
        rkey - 5
    ELSE
        CASE rkey WHEN rkey < 11 THEN
            rkey + 2
        ELSE
            rkey
        END
    END
WHERE rkey > 5 AND
    lkey < 12;

Respuestas a la pregunta(2)

Su respuesta a la pregunta