Acho que o que está faltando a todos aqui é que, embora nem todos tenham que lidar com instâncias de 10, 20 ou 1000 do mesmo sistema de software instalado em todo o país e no mundo ... aqueles de nós que projetam software vendido comercialmente o fazem. Como resultado, expandimos os sistemas ao longo do tempo, expandimos as tabelas adicionando campos conforme um novo recurso é necessário e, conforme esses campos são identificados, pertencem a uma tabela existente e, como tal, mais de uma década de expansão, crescimento, adição de campos, etc. às tabelas ... e então ter que trabalhar com essas tabelas desde o design, até o suporte, às vezes cavando em dados brutos / solução de problemas para depurar novos bugs de funcionalidade ... é incrivelmente agravante não ter as informações primárias que você deseja veja dentro do primeiro punhado de campos,
Muitas vezes desejei poder fazer isso, exatamente por esse motivo. Mas, sem fazer exatamente o que o SQL faz, construir um script de criação para uma nova tabela da maneira que eu quero, escrever o Insert nela e, em seguida, eliminar todas as restrições existentes, relacionamentos, chaves, índice, etc etc etc da tabela existente e renomear a "nova" tabela de volta ao nome antigo e, em seguida, lendo todas as chaves, relacionamentos, índice, etc etc ....
Não é apenas tedioso, demorado, mas ... em mais cinco anos, precisará acontecer novamente ....
É tão perto de valer a pena essa enorme quantidade de trabalho, no entanto, o ponto é ... não será a última vez que precisaremos dessa capacidade, já que nossos sistemas continuarão a crescer, expandir e obter campos em uma ordem maluca conduzida por necessidade / design adições.
A maioria dos desenvolvedores pensa do ponto de vista de um único sistema que atende a uma única empresa ou a um mercado de caixas rígidas muito específico.
Os designers e líderes de desenvolvimento "prontos para uso", mas significativamente progressivos em seu espaço de mercado, sempre terão que lidar com esse problema, continuamente ... adorariam uma solução criativa, se houver algum. Isso poderia facilmente economizar para minha empresa uma dúzia de horas por semana, simplesmente não tendo que rolar ou lembrar onde "aquele" campo está na tabela de dados de origem ....