Cita: aunque me hubiera gustado hacer que mysql lo hiciera para que mi programa se conecte con cualquier base de datos.
Eso es casi una fantasía...
El principal escollo contra el que cocarás está precisamente en los lenguajes de procedimientos. Como no existe un estandar ANSI, cada DBMS implementa un set de instrucciones diferente y hasta extensiones de funciones para datos que son incompatibles entre sí (dale una mirada solamente a las que manejan fechas y lo verás).
Finalmente las soluciones terminan pasando por crear clases específicas para determinados DBMS o usar Frameworks ya desarrollados para el problema, que ya han considerado estas cosas.
Todos chocamos tarde o temprano con este problema de falta de estádares...