Inserte com condição firebird

Já ví que não existe insert com where.
Preciso inserir um dado somente se não existir.

Quando digito if no ibexpert ele gera assim:

Peguei o exempo e tentei assim:

Mas ao executar ocorre o erro:

********* Error: Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 1, column 8. if.

Alguem pode me ajudar.

O exemplo acima funciona, mas somente em triggers e procedures.
Ainda estou parado neste problema. Alguma dica?

qual o problema de vc usar a triggers ou procedure?

O problema é em criar tal coisa somente para um insert depois apagar pq não sera mais usada. Já que preciso para o script de atualização de versão.
Mas ja resolvi o problema assim:

INSERT INTO ESEGTELA (CDSISTEMA, CDTELA, DETELA, NMFORM, CDACTIONPAI, FLSEMPREAUTORIZ)
select 1, 4023, 'CTB-INC - Integração Contábil - Transferência de Contas Contábeis- Salvar', 'transfContaContabil', NULL, 'N'
from esegtela t
where t.cdtela = 4023