This is one of the worst practices from design and performance standpoints.
First, design-wise, why give up foreign keys? As mentioned in an ealier post, that is the WHOLE POINT of RDBMS's. That is Celko's issue with consolidating codes into a single table. Second, performance-wise, does any RDBMS engine process trigger code as efficiently as its built in routines for checking foreign key validity? The answer is no.
Top priority has to be the integrity of the data. It is not ease of adminstration.
Make the right choice, design a better database. Then, look for a way to maintain your codes better. Maybe, a central code database that publishes updates to many databases with common structures is a better approach as it does not compromise the database design.