Hola.
Con el trigger no puedes hacerlo, puesto que no están diseñados para este uso.
Puedes utilizar un procedimiento almacenado.
Ejplo. sencillo de procedimiento almacenado que devuelve un conjunto de datos :
Código SQL
[-]
CREATE PROCEDURE "CLIENTES_Lista"
RETURNS (
ID INTEGER,
NOMBRE VARCHAR(50),
APELLIDOS VARCHAR(50))
AS
begin
for select ID, NOMBRE, APELLIDOS
from CLIENTES
into :ID, :NOMBRE, :APELLIDOS
do begin
suspend;
end
end
NOTA: Antes del
suspend puedes hacer todos los cálculos necesarios sobre el coste unitario.
Para recoger los datos del procedimiento almacenado puedes hacer algo como :
select * from "CLIENTES_Lista"
Saludos.