2009-02-10 6 views
0

Comment créer une instruction SQL dynamique, qui mettra à jour toute table donnée comme paramètre. Ici, je crois, je ne pouvais pas utiliser "Set Column1 = Value ....." car les colonnes seront différentes selon le tableau.SQL dynamique pour la mise à jour de n'importe quelle table!

+0

Cette question a une copie exacte à http://stackoverflow.com/questions/531486/dynamic-sql-for-updating-any-table - je voté pour fermer celui-là et garder celui-ci, comme il l'avait déjà près votes. –

+0

Pouvez-vous indiquer le logiciel de base de données que vous utilisez et ce que vous utilisez dans la couche application? – Elijah

Répondre

0

Pourriez-vous fournir plus de contexte? Exécutez-vous des instructions SQL arbitraires à l'intérieur de scripts, tels que Perl, PHP ou Python? Essayez-vous simplement de faire fonctionner un script .sql en ligne de commande? Sur quel serveur de base de données travaillez-vous?

La solution peut varier considérablement selon votre situation.

1

Ceci est une très mauvaise idée. Vous pouvez créer des ravages massifs avec votre base de données en faisant une telle chose. Je ne peux pas imaginer de dba qui le permettrait. Vous devez connaître les spécificités d'une table pour l'insérer correctement, vous devez savoir quels champs sont requis et quels champs ont des valeurs par défaut. Vous devez savoir quel type d'informations et de types de données doit être dans chaque champ afin de ne pas envoyer de mauvaises données à la base de données. Un proc qui fait tout ne peut pas vérifier correctement ces choses et ne peut certainement jamais être testé correctement. En outre, cela signifie que les autorisations doivent être au niveau de la table, ce qui est un mauvais choix pour la sécurité interne ainsi que pour les attaques par injection SQL.

Questions connexes