SQLite Forum

can we use a for/while loop inside sqlite triggers ?
Login
Let's do something naughty and not supported (but it does do the job!)
Here is what I do in a trigger to parse a string before I check the IP-address:

    INSERT INTO _INET_
        WITH RECURSIVE SPLIT(IP_ADDRESS, LAST_OCTET, REMAINDER) AS (
            VALUES ('', '', NEW.DCS_URI)
            UNION ALL
            SELECT CASE
                WHEN LAST_OCTET == '.'
                THEN
                    SUBSTR(REMAINDER, 1, 1)
                ELSE
                    IP_ADDRESS || SUBSTR(REMAINDER, 1, 1)
                END,
                SUBSTR(REMAINDER, 1, 1),
                SUBSTR(REMAINDER, 2)
      FROM SPLIT
      WHERE REMAINDER <> ''
    )
    SELECT
           REPLACE(IP_ADDRESS, '.','') AS 'OCTET'
    FROM
           SPLIT
    WHERE
           LAST_OCTET == '.' OR REMAINDER =='' ;