/* https://firebirdsql.org/rlsnotesh/rnfb25-psql-exctstmnt.html */ execute block returns ( VAL_A integer, VAL_B integer, VAL_C integer ) as begin -- Formato 1 -- Variaveis nomeadas ( X, Y e Z ) execute statement ('Select CAST(:X AS INT), CAST(:Y AS INT), CAST(:Z AS INT) from RDB$DATABASE') (X := 1, Y:=2, Z:=3) into :VAL_A, :VAL_B, :VAL_C; suspend; -- Formato 2 -- Variaveis sem nome "?" execute statement ('Select CAST(? AS INT), CAST(? AS INT), CAST(? AS INT) from RDB$DATABASE') (1,2,3) into :VAL_A, :VAL_B, :VAL_C; suspend; END