El principio para la creación de cadenas SQL a partir de SQL consiste, básicamente, en recorrer la metadata (information schema) de una base de datos y armar strings sql a partir de la concatenación strings constantes y del nombre de los objetos (nombre de tablas, nombre de campos, nombre de constraints, etc.) de la base de datos.
Las consultas SQL utilizadas pueden variar en cuanto a los nombres de los campos, tablas involucradas u objetos del sistema de acuerdo al sistema de gestión de base de datos utilizado, pero el funcionamiento es el mismo. El único esfuerzo extra a realizar será investigar el diccionario de datos de cada DBMS.
Los ejemplos mencionados en el artículo original, correspoden a consultas de Oracle, en nuestro caso, veremos ejemplos similares para una base de datos MySQL:
-- Quitar las foreign key de las tablas
USE information_schema;
SELECT CONCAT('ALTER TABLE ' , table_name , ' DROP FOREIGN KEY ' , constraint_name , ';') FROM table_constraints WHERE constraint_type = 'FOREIGN KEY';
-- Generar un scripts de inserts de una tabla
SELECT CONCAT('INSERT INTO usuarios (id,nombre,apellidos) VALUES ( ' , id , ',"' , nombre , '","' , apellidos , '");') FROM usuarios;
Vía: Micro Codes
Comentarios: