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.