Mysql
 sql >> Base de données >  >> RDS >> Mysql

Existe-t-il un moyen de rendre un nom de table dynamique dans une requête ?

Non, il n'y a aucun moyen de faire ça. Le nom de la table doit être connu au moment de l'analyse de la requête, afin que l'analyseur puisse dire si la table existe et qu'elle contient les colonnes auxquelles vous faites référence. De plus, l'optimiseur doit connaître la table et ses index, afin qu'il puisse proposer un plan des index à utiliser.

Ce que vous demandez, c'est que la table soit déterminée lors de l'exécution, en fonction des données trouvées ligne par ligne. Il n'y a aucun moyen pour le RDBMS de savoir au moment de l'analyse que tous les valeurs des données correspondent à de vraies tables.

Il n'y a aucune raison de faire cela pour implémenter Class Table Inheritance . CTI prend en charge les références vraies entre les tables.

Vous décrivez plutôt l'antipattern d'associations polymorphes.