SQLite Forum

CASE WHEN False THEN MyFunction() END calls MyFunction
Login
Another experiment (the is code used in a trigger)

  UPDATE OR ROLLBACK DEVICE_COM_SETTINGS SET
       DCS_CONNECTION_TYPE = 2,                         -- Slaves always use a wired connection
       DCS_URI = (CASE 1
                -- 🄰 → NODE > 0 AND it's alway an internal IP-address!
                WHEN ((SELECT VALUE FROM _Variables WHERE NAME == 'NEW_STATUS') == 4)   -- ← Only state 4 is allows changeing the URI!
                        THEN '255.255.255.255'                                          -- ← Status change 2 → 4
                        ELSE CASE 1
                                -- 🄱 → Is an internal IP-adress defined? (Status change 4 → 8)
                                WHEN EXISTS (SELECT 1 FROM _Variables WHERE NAME == 'INTERNAL_IP') AND ((SELECT VALUE FROM _Variables WHERE NAME == 'NEW_STATUS') == 8)
                                        THEN (SELECT VALUE FROM _Variables WHERE NAME == 'INTERNAL_IP')         -- →  externally defined as priority!                                           
                                        ELSE NEW.URI                                                            -- →  defined by THE parameter set by the USER
                                END
                END)
   WHERE DCS_PK_SERIAL_NUMBER == NEW.SERIAL_NUMBER;


No problem using multiple statements.