Según lo que dices, lo que te hace falta es un procedimiento almacenado.
A un trigger no le puedes pasar parámetros, porque no lo puedes ejecutar tu, es automático.
Lo que realmente necesitas es definir un procedimiento almacenado que acepte esos parámetros de entrada (txt_cod, etc) y realice una inserción en la tabla de clientes con esos valores, ¿no?.
Ejp:
Código SQL
[-]
CREATE PROCEDURE INSERTAR_CLIENTE(PAR_CODIGO VARCHAR(4), ...)
AS
BEGIN
INSERT INTO Clientes (Codigo, Nombre, ...)
VALUES (:PAR_CODIGO, ...);
END
En delphi puedes usar (ejecutar) un procedimiento almacenado con una
TIBQuery o con un
TIBStoredProc.
1) Usando un TIBQuery
Código Delphi
[-]
with query1 do
begin
SQL.Clear;
SQL.Add('EXECUTE PROCEDURE INSERTAR_CLIENTES :Codigo, :Nombre, :fechaalta, :telefono');
ParamByName('CODIGO').AsString := txt_Cod;
....
ExecSQL;
end;
2) Usando un TIBStoredProc
Código Delphi
[-]
with IbStoredProc1 do
begin
ParamByName('CODIGO').AsString := txt_Cod;
....
ExecProc;
end;