> Use "ALTER TABLE ... DROP CONSTRAINT ..." and then "ALTER TABLE ... ADD > CONSTRAINT ... FOREIGN KEY ..." > > Thats no fast if the table is huge. This method I know.
I think, "slow" here is not a problem - you do it only one time, and not on regular basis. If you mean that this is slow when do it manually, because of large number of FK's - you can use some automation, e.g.: - export all FK's to *.sql script (as full CREATE CONSTRAINT queries). Or, you can execute custom query on table RDB$RELATION_CONSTRAINTS, using RDB$RELATION_NAME as base for new FK name, to build "creator" script with new names. - using text search/replace, create separate *.sql for DROP-ing originals - manually edit names - then 1) execute DROP-ing script 2) execute "creator" script with new names. Also you can try update FK names in RDB$RELATION_CONSTRAINTS table (may be with automation), but i don't know if this enough for DB to work correctly after this.
