Insert dummy data based on data time found in column
WITH RECURSIVE
cte AS ( SELECT MIN(datetimefield) datetimevalue -- or some literal value
         FROM datatable
       UNION ALL
         SELECT datetimevalue + INTERVAL 30 MINUTE
         FROM cte
         WHERE datetimevalue &lt; ( SELECT MAX(datetimefield) -- or some literal value
                                  FROM datatable )
       )
INSERT INTO datatable (datetimefield, valuefield)
SELECT datetimevalue, 'dummy value'
FROM cte
WHERE NOT EXISTS ( SELECT NULL
                   FROM datatable 
                   WHERE cte.datetimevalue = datatable.datetimefield )


Of course you must adjust the syntax to your DBMS dialect.