How to insert multiple columns in a single statement?
There are various approaches. For example, if you wish to insert these:
10 ten
11 eleven
12 twelwe
you can use UNIONs:
INSERT INTO table1 (col1, col2)
SELECT 10, 'ten ' FROM RDB$DATABASE UNION ALL
SELECT 11, 'eleven' FROM RDB$DATABASE UNION ALL
SELECT 12, 'twelwe' FROM RDB$DATABASE;
Please note that datatypes must match (esp. if you use Firebird 1.x).
You can also use EXECUTE BLOCK (with Firebird 2.0):
set term ^ ;
EXECUTE BLOCK AS BEGIN
INSERT INTO table1 (col1, col2) VALUES (10, 'ten');
INSERT INTO table1 (col1, col2) VALUES (11, 'eleven');
INSERT INTO table1 (col1, col2) VALUES (12, 'twelwe');
END^





The Firebird FAQ